home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 October / PCO1097.ISO / FilesBBS / WIN95 / IAVAZIP.EXE / DATA.Z / rt.jar / java / awt / MenuItem.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-05-20  |  5.3 KB  |  224 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.       super.name = "menuitem" + nameCounter++;
  36.       this.label = var1;
  37.       this.shortcut = var2;
  38.    }
  39.  
  40.    public void addNotify() {
  41.       if (super.peer == null) {
  42.          super.peer = Toolkit.getDefaultToolkit().createMenuItem(this);
  43.       }
  44.  
  45.    }
  46.  
  47.    public String getLabel() {
  48.       return this.label;
  49.    }
  50.  
  51.    public synchronized void setLabel(String var1) {
  52.       this.label = var1;
  53.       MenuItemPeer var2 = (MenuItemPeer)super.peer;
  54.       if (var2 != null) {
  55.          var2.setLabel(var1);
  56.       }
  57.  
  58.    }
  59.  
  60.    public boolean isEnabled() {
  61.       return this.enabled;
  62.    }
  63.  
  64.    public synchronized void setEnabled(boolean var1) {
  65.       this.enable(var1);
  66.    }
  67.  
  68.    /** @deprecated */
  69.    public synchronized void enable() {
  70.       this.enabled = true;
  71.       MenuItemPeer var1 = (MenuItemPeer)super.peer;
  72.       if (var1 != null) {
  73.          var1.enable();
  74.       }
  75.  
  76.    }
  77.  
  78.    /** @deprecated */
  79.    public void enable(boolean var1) {
  80.       if (var1) {
  81.          this.enable();
  82.       } else {
  83.          this.disable();
  84.       }
  85.    }
  86.  
  87.    /** @deprecated */
  88.    public synchronized void disable() {
  89.       this.enabled = false;
  90.       MenuItemPeer var1 = (MenuItemPeer)super.peer;
  91.       if (var1 != null) {
  92.          var1.disable();
  93.       }
  94.  
  95.    }
  96.  
  97.    public MenuShortcut getShortcut() {
  98.       return this.shortcut;
  99.    }
  100.  
  101.    public void setShortcut(MenuShortcut var1) {
  102.       this.shortcut = var1;
  103.       MenuItemPeer var2 = (MenuItemPeer)super.peer;
  104.       if (var2 != null) {
  105.          var2.setLabel(this.label);
  106.       }
  107.  
  108.    }
  109.  
  110.    public void deleteShortcut() {
  111.       this.shortcut = null;
  112.       MenuItemPeer var1 = (MenuItemPeer)super.peer;
  113.       if (var1 != null) {
  114.          var1.setLabel(this.label);
  115.       }
  116.  
  117.    }
  118.  
  119.    void deleteShortcut(MenuShortcut var1) {
  120.       if (var1.equals(this.shortcut)) {
  121.          this.shortcut = null;
  122.          MenuItemPeer var2 = (MenuItemPeer)super.peer;
  123.          if (var2 != null) {
  124.             var2.setLabel(this.label);
  125.          }
  126.       }
  127.  
  128.    }
  129.  
  130.    boolean handleShortcut(KeyEvent var1) {
  131.       MenuShortcut var2 = new MenuShortcut(var1.getKeyCode(), (((InputEvent)var1).getModifiers() & 1) > 0);
  132.       if (var2.equals(this.shortcut) && this.enabled) {
  133.          if (((AWTEvent)var1).getID() == 401) {
  134.             Toolkit.getEventQueue().postEvent(new ActionEvent(this, 1001, this.actionCommand));
  135.          }
  136.  
  137.          return true;
  138.       } else {
  139.          return false;
  140.       }
  141.    }
  142.  
  143.    MenuItem getShortcutMenuItem(MenuShortcut var1) {
  144.       return var1.equals(this.shortcut) ? this : null;
  145.    }
  146.  
  147.    protected final void enableEvents(long var1) {
  148.       this.eventMask |= var1;
  149.    }
  150.  
  151.    protected final void disableEvents(long var1) {
  152.       this.eventMask &= ~var1;
  153.    }
  154.  
  155.    public void setActionCommand(String var1) {
  156.       this.actionCommand = var1;
  157.    }
  158.  
  159.    public String getActionCommand() {
  160.       return this.actionCommand == null ? this.label : this.actionCommand;
  161.    }
  162.  
  163.    public synchronized void addActionListener(ActionListener var1) {
  164.       this.actionListener = AWTEventMulticaster.add(this.actionListener, var1);
  165.       super.newEventsOnly = true;
  166.    }
  167.  
  168.    public synchronized void removeActionListener(ActionListener var1) {
  169.       this.actionListener = AWTEventMulticaster.remove(this.actionListener, var1);
  170.    }
  171.  
  172.    protected void processEvent(AWTEvent var1) {
  173.       if (var1 instanceof ActionEvent) {
  174.          this.processActionEvent((ActionEvent)var1);
  175.       }
  176.  
  177.    }
  178.  
  179.    boolean eventEnabled(AWTEvent var1) {
  180.       if (var1.id == 1001) {
  181.          return (this.eventMask & 128L) != 0L || this.actionListener != null;
  182.       } else {
  183.          return super.eventEnabled(var1);
  184.       }
  185.    }
  186.  
  187.    protected void processActionEvent(ActionEvent var1) {
  188.       if (this.actionListener != null) {
  189.          this.actionListener.actionPerformed(var1);
  190.       }
  191.  
  192.    }
  193.  
  194.    public String paramString() {
  195.       String var1 = ",label=" + this.label;
  196.       if (this.shortcut != null) {
  197.          var1 = var1 + ",shortcut=" + this.shortcut;
  198.       }
  199.  
  200.       return super.paramString() + var1;
  201.    }
  202.  
  203.    private void writeObject(ObjectOutputStream var1) throws IOException {
  204.       var1.defaultWriteObject();
  205.       AWTEventMulticaster.save(var1, "actionL", this.actionListener);
  206.       var1.writeObject((Object)null);
  207.    }
  208.  
  209.    private void readObject(ObjectInputStream var1) throws ClassNotFoundException, IOException {
  210.       var1.defaultReadObject();
  211.  
  212.       Object var2;
  213.       while((var2 = var1.readObject()) != null) {
  214.          String var3 = ((String)var2).intern();
  215.          if (var3 == "actionL") {
  216.             this.addActionListener((ActionListener)var1.readObject());
  217.          } else {
  218.             var1.readObject();
  219.          }
  220.       }
  221.  
  222.    }
  223. }
  224.