In: Computer Science
Create a simple Graphical User Interface (GUI): Create new JFrameForm and use the Palette to drag and drop the Swing Containers and Controllers like the figure shown.
Your Form should accept a file name in its text field. When the user presses OK Button, the content of the String array appear in the Text area below.
Handle all Exceptions (File Not Found Exception)
GUI frame
PLEASE GIVE IT A THUMBS UP, I SERIOUSLY NEED ONE, IF YOU NEED ANY MODIFICATION THEN LET ME KNOW, I WILL DO IT FOR YOU
import java.io.*;
import java.util.*;
class StringManipulation1 extends javax.swing.JFrame {
public StringManipulation1() {
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jLabel2 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane();
jTextArea1 = new javax.swing.JTextArea();
jLabel1 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel2.setText("File Name:");
jTextField1.addActionListener(
new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField1ActionPerformed(evt);
}
}
);
jButton1.setText("Ok");
jButton1.addActionListener(
new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
}
);
jTextArea1.setColumns(20);
jTextArea1.setRows(5);
jScrollPane1.setViewportView(jTextArea1);
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(
jPanel1
);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout
.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
jPanel1Layout
.createSequentialGroup()
.addContainerGap()
.addGroup(
jPanel1Layout
.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(
jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE,
256,
javax.swing.GroupLayout.PREFERRED_SIZE
)
.addComponent(
jButton1,
javax.swing.GroupLayout.PREFERRED_SIZE,
45,
javax.swing.GroupLayout.PREFERRED_SIZE
)
.addGroup(
jPanel1Layout
.createSequentialGroup()
.addComponent(jLabel2)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.UNRELATED
)
.addComponent(
jTextField1,
javax.swing.GroupLayout.PREFERRED_SIZE,
123,
javax.swing.GroupLayout.PREFERRED_SIZE
)
)
)
.addContainerGap(31, Short.MAX_VALUE)
)
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout
.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
jPanel1Layout
.createSequentialGroup()
.addContainerGap()
.addGroup(
jPanel1Layout
.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(
jTextField1,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE
)
)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.UNRELATED
)
.addComponent(jButton1)
.addGap(25, 25, 25)
.addComponent(
jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE,
204,
javax.swing.GroupLayout.PREFERRED_SIZE
)
.addContainerGap(25, Short.MAX_VALUE)
)
);
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
jLabel1.setForeground(new java.awt.Color(255, 0, 0));
jLabel1.setText("String Manipulation");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(
getContentPane()
);
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout
.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
layout
.createSequentialGroup()
.addGap(20, 20, 20)
.addComponent(jLabel1)
.addContainerGap(
javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE
)
)
.addGroup(
javax.swing.GroupLayout.Alignment.TRAILING,
layout
.createSequentialGroup()
.addContainerGap(23, Short.MAX_VALUE)
.addComponent(
jPanel1,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE
)
.addContainerGap()
)
);
layout.setVerticalGroup(
layout
.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
layout
.createSequentialGroup()
.addGap(26, 26, 26)
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(
jPanel1,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE
)
.addContainerGap(21, Short.MAX_VALUE)
)
);
pack();
} // </editor-fold>
private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String filename = jTextField1.getText();
File file = new File(filename);
String Content = "";
try {
Scanner sc = new Scanner(file);
while (sc.hasNextLine()) Content = Content + (sc.nextLine()) + "\n";
// System.out.println(Content);
jTextArea1.setText(Content);
} catch (FileNotFoundException ex) {
System.out.println("File not found");
}
}
public static void main(String args[]) {
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java
.util.logging.Logger.getLogger(StringManipulation1.class.getName())
.log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java
.util.logging.Logger.getLogger(StringManipulation1.class.getName())
.log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java
.util.logging.Logger.getLogger(StringManipulation1.class.getName())
.log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java
.util.logging.Logger.getLogger(StringManipulation1.class.getName())
.log(java.util.logging.Level.SEVERE, null, ex);
}
java.awt.EventQueue.invokeLater(
new Runnable() {
public void run() {
new StringManipulation1().setVisible(true);
}
}
);
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextArea jTextArea1;
private javax.swing.JTextField jTextField1;
// End of variables declaration
}