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 { public void Execute(); } public class 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); } //----------------------------------------- public void actionPerformed(ActionEvent e) { Command obj = (Command) e.getSource(); obj.Execute(); } //----------------------------------------- static public void main(String argv[]) { new ExtrnCommand(); } } //========================================== class btnRedCommand extends Button implements Command { Panel p; public btnRedCommand(String caption, Panel pnl) { super(caption); p = pnl; } public void Execute() { p.setBackground(Color.red); } } //------------------------------------------ class fileOpenCommand extends MenuItem implements Command { Frame fr; public fileOpenCommand(String caption, Frame frm) { super(caption); fr = frm; } public void Execute() { FileDialog fDlg = new FileDialog(fr, "Open file"); fDlg.show(); } } //------------------------------------------- class fileExitCommand extends MenuItem implements Command { public fileExitCommand(String caption) { super(caption); } public void Execute() { System.exit(0); } }
1. | Command pattern in Java 1 | ||
2. | Command pattern in Java 2 | ||
3. | Command pattern in Java 4 | ||
4. | Command Pattern 2 in Java | ||
5. | Command Pattern - Example: FTP GUI | ||
6. | Command pattern: Shopping |