| /*
 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();
 }
 
 }
 //=====================================
 
 
 
 
 
 |