fullcommand.java
来自「源码为科学出版社出版的英文<java设计模式>(影印版)所用的所有例」· Java 代码 · 共 69 行
JAVA
69 行
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 + =
减小字号Ctrl + -
显示快捷键?