

import java.awt.Event;
import java.awt.FileDialog;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.Toolkit;
public class ImageViewer extends Frame {
private String lastDir = "";
private Image image = null;
public static void main(String[] args) {
Frame f = new ImageViewer();
f.setSize(400, 300);
f.show();
}
public void paint(Graphics g) {
if(image != null) {
g.drawImage(image, 0, 0, this);
}
}
public boolean action(Event evt, Object what) {
if(what.equals("Open")) {
FileDialog fd = new FileDialog(this, "Open Image file", FileDialog.LOAD);
fd.setFile("*.gif");
fd.setDirectory(lastDir);
fd.show();
String f = fd.getFile();
lastDir = fd.getDirectory();
if( f != null) {
image = Toolkit.getDefaultToolkit().getImage(lastDir + f);
this.repaint();
}
} else if(what.equals("exit")) {
System.exit(0);
} else return false;
return true;
}
private static final long serialVersionUID = 1L;
public ImageViewer() {
setTitle("Image Viewer");
MenuBar mb = new MenuBar();
Menu m = new Menu("File");
m.add(new MenuItem("Open"));
m.add(new MenuItem("exit"));
mb.add(m);
this.setMenuBar(mb);
}
public boolean handleEvent(Event evt) {
if(evt.id == Event.WINDOW_DESTROY) System.exit(0);
return super.handleEvent(evt);
}
}