home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 June / CHIPHEFT062001.ISO / browser / nc32lyc / comm.z / java40.jar / java / awt / MenuItem.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-08-15  |  5.2 KB  |  221 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.    public synchronized void enable() {
  69.       this.enabled = true;
  70.       MenuItemPeer var1 = (MenuItemPeer)super.peer;
  71.       if (var1 != null) {
  72.          var1.enable();
  73.       }
  74.  
  75.    }
  76.  
  77.    public void enable(boolean var1) {
  78.       if (var1) {
  79.          this.enable();
  80.       } else {
  81.          this.disable();
  82.       }
  83.    }
  84.  
  85.    public synchronized void disable() {
  86.       this.enabled = false;
  87.       MenuItemPeer var1 = (MenuItemPeer)super.peer;
  88.       if (var1 != null) {
  89.          var1.disable();
  90.       }
  91.  
  92.    }
  93.  
  94.    public MenuShortcut getShortcut() {
  95.       return this.shortcut;
  96.    }
  97.  
  98.    public void setShortcut(MenuShortcut var1) {
  99.       this.shortcut = var1;
  100.       MenuItemPeer var2 = (MenuItemPeer)super.peer;
  101.       if (var2 != null) {
  102.          var2.setLabel(this.label);
  103.       }
  104.  
  105.    }
  106.  
  107.    public void deleteShortcut() {
  108.       this.shortcut = null;
  109.       MenuItemPeer var1 = (MenuItemPeer)super.peer;
  110.       if (var1 != null) {
  111.          var1.setLabel(this.label);
  112.       }
  113.  
  114.    }
  115.  
  116.    void deleteShortcut(MenuShortcut var1) {
  117.       if (var1.equals(this.shortcut)) {
  118.          this.shortcut = null;
  119.          MenuItemPeer var2 = (MenuItemPeer)super.peer;
  120.          if (var2 != null) {
  121.             var2.setLabel(this.label);
  122.          }
  123.       }
  124.  
  125.    }
  126.  
  127.    boolean handleShortcut(KeyEvent var1) {
  128.       MenuShortcut var2 = new MenuShortcut(var1.getKeyCode(), (((InputEvent)var1).getModifiers() & 1) > 0);
  129.       if (var2.equals(this.shortcut) && this.enabled) {
  130.          if (((AWTEvent)var1).getID() == 401) {
  131.             Toolkit.getEventQueue().postEvent(new ActionEvent(this, 1001, this.actionCommand));
  132.          }
  133.  
  134.          return true;
  135.       } else {
  136.          return false;
  137.       }
  138.    }
  139.  
  140.    MenuItem getShortcutMenuItem(MenuShortcut var1) {
  141.       return var1.equals(this.shortcut) ? this : null;
  142.    }
  143.  
  144.    protected final void enableEvents(long var1) {
  145.       this.eventMask |= var1;
  146.    }
  147.  
  148.    protected final void disableEvents(long var1) {
  149.       this.eventMask &= ~var1;
  150.    }
  151.  
  152.    public void setActionCommand(String var1) {
  153.       this.actionCommand = var1;
  154.    }
  155.  
  156.    public String getActionCommand() {
  157.       return this.actionCommand == null ? this.label : this.actionCommand;
  158.    }
  159.  
  160.    public synchronized void addActionListener(ActionListener var1) {
  161.       this.actionListener = AWTEventMulticaster.add(this.actionListener, var1);
  162.       super.newEventsOnly = true;
  163.    }
  164.  
  165.    public synchronized void removeActionListener(ActionListener var1) {
  166.       this.actionListener = AWTEventMulticaster.remove(this.actionListener, var1);
  167.    }
  168.  
  169.    protected void processEvent(AWTEvent var1) {
  170.       if (var1 instanceof ActionEvent) {
  171.          this.processActionEvent((ActionEvent)var1);
  172.       }
  173.  
  174.    }
  175.  
  176.    boolean eventEnabled(AWTEvent var1) {
  177.       if (var1.id == 1001) {
  178.          return (this.eventMask & 128L) != 0L || this.actionListener != null;
  179.       } else {
  180.          return super.eventEnabled(var1);
  181.       }
  182.    }
  183.  
  184.    protected void processActionEvent(ActionEvent var1) {
  185.       if (this.actionListener != null) {
  186.          this.actionListener.actionPerformed(var1);
  187.       }
  188.  
  189.    }
  190.  
  191.    public String paramString() {
  192.       String var1 = ",label=" + this.label;
  193.       if (this.shortcut != null) {
  194.          var1 = var1 + ",shortcut=" + this.shortcut;
  195.       }
  196.  
  197.       return super.paramString() + var1;
  198.    }
  199.  
  200.    private void writeObject(ObjectOutputStream var1) throws IOException {
  201.       var1.defaultWriteObject();
  202.       AWTEventMulticaster.save(var1, "actionL", this.actionListener);
  203.       var1.writeObject((Object)null);
  204.    }
  205.  
  206.    private void readObject(ObjectInputStream var1) throws ClassNotFoundException, IOException {
  207.       var1.defaultReadObject();
  208.  
  209.       Object var2;
  210.       while((var2 = var1.readObject()) != null) {
  211.          String var3 = ((String)var2).intern();
  212.          if (var3 == "actionL") {
  213.             this.addActionListener((ActionListener)var1.readObject());
  214.          } else {
  215.             var1.readObject();
  216.          }
  217.       }
  218.  
  219.    }
  220. }
  221.