CJV_1——ImageViewer via swing

来源:互联网 发布:淘宝电话号码采集 编辑:程序博客网 时间:2024/06/06 08:50
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(){@Overridepublic 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(){@Overridepublic 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(){@Overridepublic void actionPerformed(ActionEvent event) {System.exit(0);}});}}
此段代码在书中39页,倘若我个人没有之前的入门经历,看这大段还是蛮被打击的。
0 0