/*
The Design Patterns Java Companion
Copyright (C) 1998, by James W. Cooper
IBM Thomas J. Watson Research Center
*/
import java.awt.Button;
import java.awt.Color;
import java.awt.FileDialog;
import java.awt.Frame;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class InnerCommand extends Frame {
Menu mnuFile;
MenuItem mnuOpen, mnuExit;
Button btnRed;
Panel p;
Frame fr;
//-----------------------------------------
public InnerCommand() {
super("Frame without commands");
fr = this;
MenuBar mbar = new MenuBar();
setMenuBar(mbar);
mnuFile = new Menu("File", true);
mbar.add(mnuFile);
mnuOpen = new MenuItem("Open...");
mnuFile.add(mnuOpen);
mnuExit = new MenuItem("Exit");
mnuFile.add(mnuExit);
mnuOpen.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
FileDialog fDlg = new FileDialog(fr, "Open a file",
FileDialog.LOAD);
fDlg.show();
}
});
mnuExit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
btnRed = new Button("Red");
p = new Panel();
add(p);
p.add(btnRed);
btnRed.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
p.setBackground(Color.red);
}
});
setBounds(100, 100, 200, 100);
setVisible(true);
}
//-----------------------------------------
static public void main(String argv[]) {
new InnerCommand();
}
}
//=====================================
|