home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / VPage / Java.bin / CLASSES.ZIP / java / awt / CheckboxMenuItem.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-07-08  |  3.5 KB  |  118 lines

  1. package java.awt;
  2.  
  3. import java.awt.event.ItemEvent;
  4. import java.awt.event.ItemListener;
  5. import java.awt.peer.CheckboxMenuItemPeer;
  6. import java.io.IOException;
  7. import java.io.ObjectInputStream;
  8. import java.io.ObjectOutputStream;
  9.  
  10. public class CheckboxMenuItem extends MenuItem implements ItemSelectable {
  11.    boolean state;
  12.    transient ItemListener itemListener;
  13.    private static final String base = "chkmenuitem";
  14.    private static int nameCounter;
  15.    private static final long serialVersionUID = 6190621106981774043L;
  16.    private int checkboxMenuItemSerializedDataVersion;
  17.  
  18.    public CheckboxMenuItem() {
  19.       this("", false);
  20.    }
  21.  
  22.    public CheckboxMenuItem(String var1) {
  23.       this(var1, false);
  24.    }
  25.  
  26.    public CheckboxMenuItem(String var1, boolean var2) {
  27.       super(var1);
  28.       this.state = false;
  29.       this.checkboxMenuItemSerializedDataVersion = 1;
  30.       super.name = "chkmenuitem" + nameCounter++;
  31.       this.state = var2;
  32.    }
  33.  
  34.    public void addNotify() {
  35.       super.peer = Toolkit.getDefaultToolkit().createCheckboxMenuItem(this);
  36.       super.addNotify();
  37.    }
  38.  
  39.    public boolean getState() {
  40.       return this.state;
  41.    }
  42.  
  43.    public synchronized void setState(boolean var1) {
  44.       this.state = var1;
  45.       CheckboxMenuItemPeer var2 = (CheckboxMenuItemPeer)super.peer;
  46.       if (var2 != null) {
  47.          var2.setState(var1);
  48.       }
  49.  
  50.    }
  51.  
  52.    public synchronized Object[] getSelectedObjects() {
  53.       if (this.state) {
  54.          Object[] var1 = new Object[]{super.label};
  55.          return var1;
  56.       } else {
  57.          return null;
  58.       }
  59.    }
  60.  
  61.    public synchronized void addItemListener(ItemListener var1) {
  62.       this.itemListener = AWTEventMulticaster.add(this.itemListener, var1);
  63.       super.newEventsOnly = true;
  64.    }
  65.  
  66.    public synchronized void removeItemListener(ItemListener var1) {
  67.       this.itemListener = AWTEventMulticaster.remove(this.itemListener, var1);
  68.    }
  69.  
  70.    boolean eventEnabled(AWTEvent var1) {
  71.       if (var1.id == 701) {
  72.          return (super.eventMask & 512L) != 0L || this.itemListener != null;
  73.       } else {
  74.          return super.eventEnabled(var1);
  75.       }
  76.    }
  77.  
  78.    protected void processEvent(AWTEvent var1) {
  79.       if (var1 instanceof ItemEvent) {
  80.          this.processItemEvent((ItemEvent)var1);
  81.       } else {
  82.          super.processEvent(var1);
  83.       }
  84.    }
  85.  
  86.    protected void processItemEvent(ItemEvent var1) {
  87.       if (this.itemListener != null) {
  88.          this.itemListener.itemStateChanged(var1);
  89.       }
  90.  
  91.    }
  92.  
  93.    public String paramString() {
  94.       return super.paramString() + ",state=" + this.state;
  95.    }
  96.  
  97.    private void writeObject(ObjectOutputStream var1) throws IOException {
  98.       var1.defaultWriteObject();
  99.       AWTEventMulticaster.save(var1, "itemL", this.itemListener);
  100.       var1.writeObject((Object)null);
  101.    }
  102.  
  103.    private void readObject(ObjectInputStream var1) throws ClassNotFoundException, IOException {
  104.       var1.defaultReadObject();
  105.  
  106.       Object var2;
  107.       while((var2 = var1.readObject()) != null) {
  108.          String var3 = ((String)var2).intern();
  109.          if (var3 == "itemL") {
  110.             this.addItemListener((ItemListener)var1.readObject());
  111.          } else {
  112.             var1.readObject();
  113.          }
  114.       }
  115.  
  116.    }
  117. }
  118.