package ImageViewer;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.ImageIcon;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class ImageViewer {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable(){
@Override
public void run() {
JFrame frame = new ImageViewerFrame();
frame.setTitle("ImageViewer");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}
}
class ImageViewerFrame extends JFrame{
/**
*
*/
private static final long serialVersionUID = -4785279480839401296L;
private JLabel label;
private JFileChooser chooser;
private static final int default_width = 300;
private static final int default_height = 400;
public ImageViewerFrame(){
this.setSize(default_width, default_height);
label = new JLabel();
this.add(label);
chooser = new JFileChooser();
chooser.setCurrentDirectory(new File("."));
JMenuBar menuBar = new JMenuBar();
this.setJMenuBar(menuBar);
JMenu menu = new JMenu("File");
menuBar.add(menu);
JMenuItem openItem = new JMenuItem("Open");
menu.add(openItem);
openItem.addActionListener(new ActionListener(){
@Override
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(){
@Override
public void actionPerformed(ActionEvent event) {
System.exit(0);
}
});
}
}
此段代码在书中39页,倘若我个人没有之前的入门经历,看这大段还是蛮被打击的。
CJV_1——ImageViewer via swing
最新推荐文章于 2020-02-26 16:00:25 发布