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的。呵呵~
后来发现很多都是语法上的问题。而且程序一长就很难看。。
后来修改了很多次。
当然是看着舒来修改。毕竟是初学者。只是打算利用这么一个源代码来加深自己的认识。
成功之后感觉很爽。很开心。呵呵
所以养成一个好的习惯风格是很重要的~