Frame练习-打开图片

时间:2022-09-02 00:06:33
import java.awt.EventQueue;
import java.awt.event.*;
import java.io.*;
import javax.swing.*; public class ImageViewer {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable(){
public void run(){
JFrame frame=new ImageViewerFrame();
frame.setTitle("Image");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}
}
class ImageViewerFrame extends JFrame {
private JLabel label;
private JFileChooser chooser;
private static final int DEFALUT_WIDTH=1000;
private static final int DEFALUT_HEIGHT=1000;
public ImageViewerFrame(){
setSize(DEFALUT_WIDTH,DEFALUT_HEIGHT);
label=new JLabel();
add(label);
chooser=new JFileChooser();
chooser.setCurrentDirectory(new File("."));
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);
} }); }
}