import java.awt.*; import java.awt.event.*; import java.awt.image.*; import java.io.*; import javax.swing.*;
public class ImageViewer { public static void main(String[] args) { JFrame frame=new ImageViewerFrame(); frame.setTitle("ImageViewer"); frame.setSize(300, 400); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.show(); } }
class ImageViewerFrame extends JFrame { public ImageViewerFrame() { //set up menu bar 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 FileOpenListener()); JMenuItem exitItem=new JMenuItem("Exit"); menu.add(exitItem); exitItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event)
{ System.exit(0); } } ); // use a label to display the images label=new JLabel(); Container contentPane=getContentPane(); contentPane.add(label); }
private class FileOpenListener implements ActionListener { public void actionPerformed(ActionEvent evt) { // set up file chooser JFileChooser chooser=new JFileChooser(); chooser.setCurrentDirectory(new File("."));
// accept all files ending with .gif chooser.setFileFilter(new javax.swing.filechooser.FileFilter() { public boolean accept(File f) { return f.getName().toLowerCase() .endsWith(".gif") || f.isDirectory(); } public String getDescription() { return "GIF Images"; } }); //show file chooser dialog int r=chooser.showOpenDialog(ImageViewerFrame.this);
// if image file accepted, set it as icon of the label if(r==JFileChooser.APPROVE_OPTION) { String name=chooser.getSelectedFile().getPath(); label.setIcon(new ImageIcon(name)); } } }
private JLabel label; }
照着core java的书上写了一次,原本写完第一次是很多errors的。呵呵~ 后来发现很多都是语法上的问题。而且程序一长就很难看。。 后来修改了很多次。 当然是看着舒来修改。毕竟是初学者。只是打算利用这么一个源代码来加深自己的认识。 成功之后感觉很爽。很开心。呵呵 所以养成一个好的习惯风格是很重要的~ 
|