图像文件查看器
由于学校晚上没有网, 不能blog下面直接给代码,代码里面已经说明了步骤 , 并且总结:
代码:
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
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 ImageView {
//每一个类中一定会有一个主方法
//这个类的作用是图片查看器
public static void main( String args[])
{
EventQueue.invokeLater(new Runnable()
{//事件队列中有一个run函数
public void run()
{
JFrame frame = new ImageViewFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置为正常关闭
frame.setVisible(true);//设置为可见
}
});
}
}
class ImageViewFrame extends JFrame
{
private static final int DEFAULT_WIDTH = 300;
private static final int DEFAULT_HEIGHT = 400;
private JLabel label;
private JFileChooser chooser;
//同样类中是有函数的
public ImageViewFrame()
{
//由于JFrame类因此,可以设置名字尺寸之类的
setTitle("ImageView");
setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
// 使用一个label 来显示图片
label = new JLabel();
add(label);
//设置一个文件选择
//选择一个文件要注意的就是选择目录了
chooser = new JFileChooser();
chooser.setCurrentDirectory(new File("."));//这个函数我第一次用其实就是用来获取文件目录 的
//下面要进行加目录条
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);//这个setJMenuBar 第一次用功能就是将menuBar加到Frame中
//目录条有了下面要进行的就是加目录了并且加入名字
JMenu menu= new JMenu("File");
menuBar.add(menu); //将目录加入到目录条中
//menu 中有可以加menuItem
JMenuItem openItem = new JMenuItem("Open");
menu.add(openItem); //menu中又要加menuItem
//下面又必须为openItem添加事件
openItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
//事件处理show file chooser dialog
int result = chooser.showOpenDialog(null);//这个函数第一次用
if(result == JFileChooser.APPROVE_OPTION)
{
//这个也是第一次用, 表示的应该是文件选择正确
//下面主要是得到路径名
/*整理一下思路
* 1)首先要有一个继承JFrame 的类 类中有个函数
* 2)要有一个label 主要用来存放显示图片的
* 3)要有一个menubar 并将menubar 加到JFrame中
* 4)要有一个JMenu
* 5)要有一个JMenuItem
* 6)文件选择目录souOpendialog
* 7)文件选择路径
* 8)设置label图片
*/
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 e) {
// TODO Auto-generated method stub
System.exit(0);
}
});
}
}