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; publicclass 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() { publicvoid actionPerformed(ActionEvent e) { FileDialog fDlg = new FileDialog(fr, "Open a file", FileDialog.LOAD); fDlg.show(); } }); mnuExit.addActionListener(new ActionListener() { publicvoid actionPerformed(ActionEvent e) { System.exit(0); } }); btnRed = new Button("Red"); p = new Panel(); add(p); p.add(btnRed); btnRed.addActionListener(new ActionListener() { publicvoid actionPerformed(ActionEvent e) { p.setBackground(Color.red); } }); setBounds(100, 100, 200, 100); setVisible(true); } //----------------------------------------- staticpublicvoid main(String argv[]) { new InnerCommand(); } } //=====================================
Related examples in the same category