• Source
    1. import java.awt.EventQueue;
    2. import java.awt.event.*;
    3. import java.io.*;
    4. import javax.swing.*;
    5.  
    6. public class ImageViewer
    7. {
    8. public static void main(String[] args)
    9. {
    10. EventQueue.invokeLater(new Runnable()
    11. {
    12. public void run()
    13. {
    14. JFrame frame = new ImageViewerFrame();
    15. frame.setTitle("ImageViewer");
    16. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    17. frame.setVisible(true);
    18. }
    19. });
    20. }
    21.  
    22. class ImageViewerFrame extends JFrame
    23. {
    24. private JLabel label;
    25. private JFileChooser chooser;
    26. private static final int DEFAULT_WIDTH=300;
    27. private static final int DEFAULT_HEIGHT=400;
    28. public ImageViewerFrame()
    29. {
    30. setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
    31. label = new JLabel();
    32. add(label);
    33.  
    34. chooser = new JFileChooser();
    35. chooser.setCurrentDirectory(new File("."));
    36.  
    37. JMenuBar menuBar = new JMenuBar ();
    38. setJMenuBar(menuBar);
    39.  
    40. JMenu menu=new JMenu ("File");
    41. menuBar.add(menu);
    42.  
    43. JMenuItem openItem = new JMenuItem("Open");
    44. menu.add(openItem);
    45. openItem.addActionListener(new ActionListener()
    46. {
    47. public void actionPerformed (ActionEvent event)
    48. {
    49. int result = chooser.showOpenDialog(null);
    50. if (result == JFileChooser.APPROVE_OPTION)
    51. {
    52. String name= chooser.getSelectedFile().getPath();
    53. label.setIcon(new ImageIcon(name));
    54. }
    55. }
    56. } );
    57.  
    58.  
    59. JMenuItem exitItem = new JMenuItem("Exit");
    60. menu.add(exitItem);
    61. exitItem.addActionListener(new ActionListener()
    62. {
    63. public void actionPerformed(ActionEvent event)
    64. {
    65. System.exit(0);
    66. }
    67. });
    68. }
    69. }
    70. }
    71.