⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fullcommand.java

📁 《java设计模式》一书的源码
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//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 JxFrame
   implements ActionListener
{
   JMenu mnuFile;
   cmdMenu  mnuOpen, mnuExit;
   cmdButton btnRed;
   JPanel p, jp;
   JxFrame fr;
   fileCommand flc;
   ExitCommand extc;
   RedCommand redc;
   //-----------------------------------------
   public fullCommand()
   {
      super("Frame with external commands");
      fr = this;     //save frame object
      JPanel jp = new JPanel();
      getContentPane().add(jp);
      JMenuBar mbar = new JMenuBar();
      setJMenuBar(mbar);

      mnuFile = new JMenu("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);
      
      btnRed = new cmdButton("Red", this);
      redc = new RedCommand(this, jp);
      btnRed.setCommand (redc);
      
      jp.add(btnRed);

      btnRed.addActionListener(this);
      setBounds(100,100,200,100);
      setVisible(true);
   }
   //-----------------------------------------
   public void actionPerformed(ActionEvent e)   {
      CommandHolder obj = (CommandHolder)e.getSource();
      obj.getCommand().Execute();
   }
   //-----------------------------------------
   static public void main(String argv[])
   {
      new fullCommand();
   }
}


⌨️ 快捷键说明

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