import javax.swing.* ; import java.awt.* ; import java.awt.event.* ; import java.io.* ; class FileChooserFrame extends JFrame implements ActionListener { public FileChooserFrame() { addWindowListener(new TerminationListener()) ; setTitle("FileChooserFrame") ; setSize(600, 400) ; JMenuBar menuBar = new JMenuBar() ; setJMenuBar(menuBar) ; JMenu fileMenu = new JMenu("File") ; menuBar.add(fileMenu) ; openItem = new JMenuItem("Open") ; openItem.addActionListener(this) ; fileMenu.add(openItem) ; closeItem = new JMenuItem("Exit") ; closeItem.addActionListener(this) ; fileMenu.add(closeItem) ; JPanel panel = new JPanel() ; field = new JTextField(20) ; panel.add(field) ; getContentPane().add(panel) ; } public void actionPerformed(ActionEvent evt) { if(evt.getSource() == openItem) { JFileChooser c = new JFileChooser() ; c.setCurrentDirectory(new File(".")) ; c.showOpenDialog(this) ; File f = c.getSelectedFile() ; if(f != null) field.setText(f.getName()) ; } else if(evt.getSource() == closeItem) System.exit(0) ; } private JMenuItem openItem, closeItem, redItem, blueItem ; private JTextField field ; } public class FileChooserTest { public static void main(String [] args) { JFrame frame = new FileChooserFrame() ; frame.show() ; } } class TerminationListener implements WindowListener { public void windowActivated(WindowEvent e) {} public void windowClosed(WindowEvent e) {} public void windowClosing(WindowEvent e) { System.exit(0) ; } public void windowDeactivated(WindowEvent e) {} public void windowDeiconified(WindowEvent e) {} public void windowIconified(WindowEvent e) {} public void windowOpened(WindowEvent e) {} }