;可以很好的体现出java类库的具体操作
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
//view picture
public class ImageViewer
{
public static void main(String[] args)
{
JFrame frame = new ImageViewerFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
//display image class
class ImageViewerFrame extends JFrame
{
public ImageViewerFrame()
{
//add a label to show image
setTitle("ImageViewer");
setSize(DEFAULT_WEDTH,DEFAULT_HEIGHT);
label = new JLabel();
add(label);
chooser = new JFileChooser();
chooser.setCurrentDirectory(new File("."));
//set menu
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
JMenu menu = new JMenu("file");
menuBar.add(menu);
JMenuItem openitem = new JMenuItem("Open");
menu.add(openitem);
openitem.addActionListener(new
ActionListener()
{
public void actionPerformed(ActionEvent event)
{
int result = chooser.showOpenDialog(null);
if (result == JFileChooser.APPROVE_OPTION)
{
String name = chooser.getSelectedFile().getPath();
label.setIcon(new ImageIcon(name));
}
}
});
JMenuItem exititem = new JMenuItem("Exit");
menu.add(exititem);
exititem.addActionListener(new
ActionListener()
{
public void actionPerformed(ActionEvent event)
{
System.exit(0);
}
});
}
private JLabel label;
private JFileChooser chooser;
private static final int DEFAULT_WEDTH=300;
private static final int DEFAULT_HEIGHT=300;
}