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

📄 urmenulistener.java

📁 ErGo是一个很早的Java通用围棋服务器(IGS/NNGS)客户端程序。有全部源码和文档
💻 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 + -