📄 urmenulistener.java
字号:
package ergo.ui;
// $Id: urMenuListener.java,v 1.2 1999/08/13 01:20:11 sigue Exp $
/*
* Copyright (C) 1999 Carl L. Gay and Antranig M. Basman.
* See the file copyright.txt, distributed with this software,
* for further information.
*/
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Menu;
import java.awt.MenuItem;
import java.awt.MenuShortcut;
// ---*** Would like to replace this class with a CommandTable class, from which
// an entire menu would be generated. The CommandTable would contain
// other CommandTables and Commands to create a hierarchical menu.
public abstract class urMenuListener implements ActionListener {
public MenuItem generate (Menu owner, String label) {
return generate(owner, label, null);
}
/** @deprecated Use generate(Menu, MenuCommand) instead.
*/
public MenuItem generate (Menu owner, String label, MenuShortcut cut) {
MenuItem togo = ((cut == null)
? new MenuItem(label)
: new MenuItem(label, cut));
togo.addActionListener(this);
if (owner != null)
owner.add(togo);
return togo;
}
/** @deprecated Use generateWithSep(Menu, MenuCommand) instead.
*/
public MenuItem generateWithSep (Menu owner, String label) {
return generateWithSep(owner, label, false, null);
}
/** @deprecated Use generateWithSep(Menu, MenuCommand) instead.
*/
public MenuItem generateWithSep (Menu owner, String label, MenuShortcut shortcut) {
return generateWithSep(owner, label, false, shortcut);
}
/** @deprecated Use generateWithSep(Menu, MenuCommand, boolean) instead.
*/
public MenuItem generateWithSep (Menu owner, String label, boolean above,
MenuShortcut shortcut) {
if (above)
owner.addSeparator();
MenuItem togo = generate(owner, label, shortcut);
if (!above)
owner.addSeparator();
return togo;
}
/** This is misnamed. Now that MenuCommand extends MenuItem nothing is actually
* generated here. This whole class should be replaced with CommandTables eventually.
*/
public MenuItem add (Menu owner, MenuItem item) {
if (owner != null)
owner.add(item);
return item;
}
public MenuItem addWithSep (Menu owner, MenuItem item, boolean above) {
if (above)
owner.addSeparator();
MenuItem mitem = add(owner, item);
if (!above)
owner.addSeparator();
return mitem;
}
public Menu generateMenu (Menu owner, String label) {
Menu menu = new Menu(label);
// menu.addActionListener(this); // probably no need to listen to Menus.
owner.add(menu);
return menu;
}
public Menu generateMenuWithSep (Menu owner, String label) {
Menu menu = generateMenu(owner, label);
owner.addSeparator();
return menu;
}
public void actionPerformed (ActionEvent ae) {
Object source = ae.getSource();
itemSelected( (MenuItem)source);
}
/** Subclasses must implement this method to handle menu item selection events.
*
* @deprecated This method will eventually be phased out as all the commands
* handle their own selection events via inner classes.
*/
public abstract void itemSelected (MenuItem mi);
} // end class urMenuListener
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -