extrncommand.java

来自「源码为科学出版社出版的英文<java设计模式>(影印版)所用的所有例」· Java 代码 · 共 63 行

JAVA
63
字号
package fullCommand;

import java.awt.*;
import java.awt.event.*;
//In this version, we fully decouple the Commands from
//the men and Button subclasses.
// the Command objects are external classes
//and we pass them copies of the Frame instance 
//in their constructor
public class fullCommand extends Frame
   implements ActionListener
{
   Menu mnuFile;
   cmdMenu  mnuOpen, mnuExit;
   btnRedCommand btnRed;
   Panel p;
   Frame fr;
   //-----------------------------------------
   public fullCommand()
   {
      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 cmdMenu("Open...", this);
      mnuFile.add(mnuOpen);
      mnuOpen.setCommand (new fileCommand(this));
      mnuExit = new cmdMenu("Exit", this);
      mnuExit.setCommand (new ExitCommand(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 fullCommand();
   }
}


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?