Command pattern in Java 3 : Command Pattern « Design Pattern « Java






Command pattern in Java 3

Command pattern in Java 3
/* 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; interface Command { publicvoid Execute(); } publicclass ExtrnCommand extends Frame implements ActionListener { Menu mnuFile; fileOpenCommand mnuOpen; fileExitCommand mnuExit; btnRedCommand btnRed; Panel p; Frame fr; //----------------------------------------- public ExtrnCommand() { super("Frame with external commands"); fr = this; //save frame object  MenuBar mbar = new MenuBar(); setMenuBar(mbar); mnuFile = new Menu("File", true); mbar.add(mnuFile); mnuOpen = new fileOpenCommand("Open...", this); mnuFile.add(mnuOpen); mnuExit = new fileExitCommand("Exit"); mnuFile.add(mnuExit); mnuOpen.addActionListener(this); mnuExit.addActionListener(this); p = new Panel(); add(p); btnRed = new btnRedCommand("Red", p); p.add(btnRed); btnRed.addActionListener(this); setBounds(100, 100, 200, 100); setVisible(true); } //----------------------------------------- publicvoid actionPerformed(ActionEvent e) { Command obj = (Command) e.getSource(); obj.Execute(); } //----------------------------------------- staticpublicvoid main(String argv[]) { new ExtrnCommand(); } } //========================================== class btnRedCommand extends Button implements Command { Panel p; public btnRedCommand(String caption, Panel pnl) { super(caption); p = pnl; } publicvoid Execute() { p.setBackground(Color.red); } } //------------------------------------------ class fileOpenCommand extends MenuItem implements Command { Frame fr; public fileOpenCommand(String caption, Frame frm) { super(caption); fr = frm; } publicvoid Execute() { FileDialog fDlg = new FileDialog(fr, "Open file"); fDlg.show(); } } //------------------------------------------- class fileExitCommand extends MenuItem implements Command { public fileExitCommand(String caption) { super(caption); } publicvoid Execute() { System.exit(0); } } 








Related examples in the same category

1.Command pattern in Java 1Command pattern in Java 1
2.Command pattern in Java 2Command pattern in Java 2
3.Command pattern in Java 4Command pattern in Java 4
4.Command Pattern 2 in Java
5.Command Pattern - Example: FTP GUICommand Pattern - Example: FTP GUI
6.Command pattern: Shopping
close