home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD 31 / SUPERCDa.iso / Inet / HotJava / hjava.exe / Windows / resource / jre / lib / rt.jar / java / awt / MenuItem.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-11-11  |  5.4 KB  |  234 lines

  1. package java.awt;
  2.  
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.ActionListener;
  5. import java.awt.event.InputEvent;
  6. import java.awt.event.KeyEvent;
  7. import java.awt.peer.MenuItemPeer;
  8. import java.io.IOException;
  9. import java.io.ObjectInputStream;
  10. import java.io.ObjectOutputStream;
  11.  
  12. public class MenuItem extends MenuComponent {
  13.    boolean enabled;
  14.    String label;
  15.    String actionCommand;
  16.    long eventMask;
  17.    transient ActionListener actionListener;
  18.    private MenuShortcut shortcut;
  19.    private static final String base = "menuitem";
  20.    private static int nameCounter;
  21.    private static final long serialVersionUID = -21757335363267194L;
  22.    private int menuItemSerializedDataVersion;
  23.  
  24.    public MenuItem() {
  25.       this("", (MenuShortcut)null);
  26.    }
  27.  
  28.    public MenuItem(String var1) {
  29.       this(var1, (MenuShortcut)null);
  30.    }
  31.  
  32.    public MenuItem(String var1, MenuShortcut var2) {
  33.       this.enabled = true;
  34.       this.menuItemSerializedDataVersion = 1;
  35.       this.label = var1;
  36.       this.shortcut = var2;
  37.    }
  38.  
  39.    String constructComponentName() {
  40.       return "menuitem" + nameCounter++;
  41.    }
  42.  
  43.    public void addNotify() {
  44.       Object var1 = ((MenuComponent)this).getTreeLock();
  45.       synchronized(var1){}
  46.  
  47.       try {
  48.          if (super.peer == null) {
  49.             super.peer = Toolkit.getDefaultToolkit().createMenuItem(this);
  50.          }
  51.       } catch (Throwable var3) {
  52.          throw var3;
  53.       }
  54.  
  55.    }
  56.  
  57.    public String getLabel() {
  58.       return this.label;
  59.    }
  60.  
  61.    public synchronized void setLabel(String var1) {
  62.       this.label = var1;
  63.       MenuItemPeer var2 = (MenuItemPeer)super.peer;
  64.       if (var2 != null) {
  65.          var2.setLabel(var1);
  66.       }
  67.  
  68.    }
  69.  
  70.    public boolean isEnabled() {
  71.       return this.enabled;
  72.    }
  73.  
  74.    public synchronized void setEnabled(boolean var1) {
  75.       this.enable(var1);
  76.    }
  77.  
  78.    /** @deprecated */
  79.    public synchronized void enable() {
  80.       this.enabled = true;
  81.       MenuItemPeer var1 = (MenuItemPeer)super.peer;
  82.       if (var1 != null) {
  83.          var1.enable();
  84.       }
  85.  
  86.    }
  87.  
  88.    /** @deprecated */
  89.    public void enable(boolean var1) {
  90.       if (var1) {
  91.          this.enable();
  92.       } else {
  93.          this.disable();
  94.       }
  95.    }
  96.  
  97.    /** @deprecated */
  98.    public synchronized void disable() {
  99.       this.enabled = false;
  100.       MenuItemPeer var1 = (MenuItemPeer)super.peer;
  101.       if (var1 != null) {
  102.          var1.disable();
  103.       }
  104.  
  105.    }
  106.  
  107.    public MenuShortcut getShortcut() {
  108.       return this.shortcut;
  109.    }
  110.  
  111.    public void setShortcut(MenuShortcut var1) {
  112.       this.shortcut = var1;
  113.       MenuItemPeer var2 = (MenuItemPeer)super.peer;
  114.       if (var2 != null) {
  115.          var2.setLabel(this.label);
  116.       }
  117.  
  118.    }
  119.  
  120.    public void deleteShortcut() {
  121.       this.shortcut = null;
  122.       MenuItemPeer var1 = (MenuItemPeer)super.peer;
  123.       if (var1 != null) {
  124.          var1.setLabel(this.label);
  125.       }
  126.  
  127.    }
  128.  
  129.    void deleteShortcut(MenuShortcut var1) {
  130.       if (var1.equals(this.shortcut)) {
  131.          this.shortcut = null;
  132.          MenuItemPeer var2 = (MenuItemPeer)super.peer;
  133.          if (var2 != null) {
  134.             var2.setLabel(this.label);
  135.          }
  136.       }
  137.  
  138.    }
  139.  
  140.    boolean handleShortcut(KeyEvent var1) {
  141.       MenuShortcut var2 = new MenuShortcut(var1.getKeyCode(), (((InputEvent)var1).getModifiers() & 1) > 0);
  142.       if (var2.equals(this.shortcut) && this.enabled) {
  143.          if (((AWTEvent)var1).getID() == 401) {
  144.             Toolkit.getEventQueue().postEvent(new ActionEvent(this, 1001, this.actionCommand));
  145.          }
  146.  
  147.          return true;
  148.       } else {
  149.          return false;
  150.       }
  151.    }
  152.  
  153.    MenuItem getShortcutMenuItem(MenuShortcut var1) {
  154.       return var1.equals(this.shortcut) ? this : null;
  155.    }
  156.  
  157.    protected final void enableEvents(long var1) {
  158.       this.eventMask |= var1;
  159.    }
  160.  
  161.    protected final void disableEvents(long var1) {
  162.       this.eventMask &= ~var1;
  163.    }
  164.  
  165.    public void setActionCommand(String var1) {
  166.       this.actionCommand = var1;
  167.    }
  168.  
  169.    public String getActionCommand() {
  170.       return this.actionCommand == null ? this.label : this.actionCommand;
  171.    }
  172.  
  173.    public synchronized void addActionListener(ActionListener var1) {
  174.       this.actionListener = AWTEventMulticaster.add(this.actionListener, var1);
  175.       super.newEventsOnly = true;
  176.    }
  177.  
  178.    public synchronized void removeActionListener(ActionListener var1) {
  179.       this.actionListener = AWTEventMulticaster.remove(this.actionListener, var1);
  180.    }
  181.  
  182.    protected void processEvent(AWTEvent var1) {
  183.       if (var1 instanceof ActionEvent) {
  184.          this.processActionEvent((ActionEvent)var1);
  185.       }
  186.  
  187.    }
  188.  
  189.    boolean eventEnabled(AWTEvent var1) {
  190.       if (var1.id == 1001) {
  191.          return (this.eventMask & 128L) != 0L || this.actionListener != null;
  192.       } else {
  193.          return super.eventEnabled(var1);
  194.       }
  195.    }
  196.  
  197.    protected void processActionEvent(ActionEvent var1) {
  198.       if (this.actionListener != null) {
  199.          this.actionListener.actionPerformed(var1);
  200.       }
  201.  
  202.    }
  203.  
  204.    public String paramString() {
  205.       String var1 = ",label=" + this.label;
  206.       if (this.shortcut != null) {
  207.          var1 = var1 + ",shortcut=" + this.shortcut;
  208.       }
  209.  
  210.       return super.paramString() + var1;
  211.    }
  212.  
  213.    private void writeObject(ObjectOutputStream var1) throws IOException {
  214.       var1.defaultWriteObject();
  215.       AWTEventMulticaster.save(var1, "actionL", this.actionListener);
  216.       var1.writeObject((Object)null);
  217.    }
  218.  
  219.    private void readObject(ObjectInputStream var1) throws ClassNotFoundException, IOException {
  220.       var1.defaultReadObject();
  221.  
  222.       Object var2;
  223.       while((var2 = var1.readObject()) != null) {
  224.          String var3 = ((String)var2).intern();
  225.          if (var3 == "actionL") {
  226.             this.addActionListener((ActionListener)var1.readObject());
  227.          } else {
  228.             var1.readObject();
  229.          }
  230.       }
  231.  
  232.    }
  233. }
  234.