Mega Code Archive

 
Categories / Java / Design Pattern
 

Command pattern in Java 4

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