import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import java.io.FileReader; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JTextArea; public class JFrameWithMenu extends JFrame { JMenuBar mb ; JMenu mfile, medit, mhelp; JMenuItem minew, miopen, misave, miexit, miabout; JTextArea jta; JFileChooser fch; public JFrameWithMenu() { settingMenu(); jta = new JTextArea(); add(jta,BorderLayout.CENTER); jta.setText("Testing text...."); setSize(400,400); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } private void settingMenu() { mb =new JMenuBar(); setJMenuBar(mb); mfile = new JMenu("File"); medit = new JMenu("Edit"); mhelp = new JMenu("Help"); minew = new JMenuItem("New"); minew.setMnemonic('N'); miopen = new JMenuItem("Open"); misave = new JMenuItem("Save"); miexit = new JMenuItem("Exit"); mb.add(mfile); mb.add(medit); mb.add(mhelp); mfile.add(minew); mfile.add(miopen); mfile.add(misave); mfile.add(miexit); //event to open a file miopen.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent ae) { fch = new JFileChooser("d://"); int openfile =fch.showOpenDialog(miopen); if (openfile==JFileChooser.APPROVE_OPTION) { File myfile =fch.getSelectedFile(); try { FileReader fr = new FileReader(myfile); char cbuf[] = new char[(int)myfile.length()]; fr.read(cbuf); jta.setText(new String(cbuf)); } catch (Exception e) { jta.setText(e.getMessage()); } } } } ); // event for exit item miexit.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent ae) { System.exit(0); } } ); } } //Application class to create JFrameWithMenu Object public class JSwinMenuTesting { public static void main(String[] args) { new JFrameWithMenu(); } }