/**The ImageViewer
*It can be used to view image
*Author:Ginger547 QQ:420607
* */
import java.awt.*;
import java.awt.image.*;
import java.io.*;//导入必要的文件
//从Frame继承
public class ImageViewer extends Frame {
//构造函数
public ImageViewer() {
//设置Title
setTitle("图象浏览器");
//菜单栏
MenuBar mbar = new MenuBar();
Menu m = new Menu("文件");
m.add(new MenuItem("打开"));
m.add(new MenuItem("退出"));
mbar.add(m);
setMenuBar(mbar);
}
public boolean handleEvent(Event evt) {
if (evt.id == Event.WINDOW_DESTROY)
System.exit(0);
return super.handleEvent(evt);
}
//菜单的鼠标点击处理
public boolean action(Event evt, Object arg) {
if (arg.equals("打开")) {
//文件对话框
FileDialog d = new FileDialog(this, "打开图象文件", FileDialog.LOAD);
d.setFile("*.jpg");
d.setDirectory(lastDir);
d.show();
String f = d.getFile();
lastDir = d.getDirectory();
if (f != null)
image = Toolkit.getDefaultToolkit().getImage(lastDir + f);
repaint();
} else if (arg.equals("退出")) {
System.exit(0);
} else
return false;
return true;
}
public void paint(Graphics g) {
if (image != null) {
//本例中用到的一个最重要的方法
g.drawImage(image, 50, 50, this);
}
}
public static void main(String args[]) {
Frame f = new ImageViewer();
f.resize(800, 600);
f.show();
}
private Image image = null;
private String lastDir = "";
}