home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1999 April / DPPCPRO0499.ISO / April / Notes / 50b2wic.exe / DATA1.CAB / NotesProgramFilesJavaSupport / rt.jar / java / awt / CheckboxMenuItem.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-04-23  |  3.6 KB  |  129 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.       Object var1 = ((MenuComponent)this).getTreeLock();
  36.       synchronized(var1){}
  37.  
  38.       try {
  39.          if (super.peer == null) {
  40.             super.peer = Toolkit.getDefaultToolkit().createCheckboxMenuItem(this);
  41.          }
  42.  
  43.          super.addNotify();
  44.       } catch (Throwable var3) {
  45.          throw var3;
  46.       }
  47.  
  48.    }
  49.  
  50.    public boolean getState() {
  51.       return this.state;
  52.    }
  53.  
  54.    public synchronized void setState(boolean var1) {
  55.       this.state = var1;
  56.       CheckboxMenuItemPeer var2 = (CheckboxMenuItemPeer)super.peer;
  57.       if (var2 != null) {
  58.          var2.setState(var1);
  59.       }
  60.  
  61.    }
  62.  
  63.    public synchronized Object[] getSelectedObjects() {
  64.       if (this.state) {
  65.          Object[] var1 = new Object[]{super.label};
  66.          return var1;
  67.       } else {
  68.          return null;
  69.       }
  70.    }
  71.  
  72.    public synchronized void addItemListener(ItemListener var1) {
  73.       this.itemListener = AWTEventMulticaster.add(this.itemListener, var1);
  74.       super.newEventsOnly = true;
  75.    }
  76.  
  77.    public synchronized void removeItemListener(ItemListener var1) {
  78.       this.itemListener = AWTEventMulticaster.remove(this.itemListener, var1);
  79.    }
  80.  
  81.    boolean eventEnabled(AWTEvent var1) {
  82.       if (var1.id == 701) {
  83.          return (super.eventMask & 512L) != 0L || this.itemListener != null;
  84.       } else {
  85.          return super.eventEnabled(var1);
  86.       }
  87.    }
  88.  
  89.    protected void processEvent(AWTEvent var1) {
  90.       if (var1 instanceof ItemEvent) {
  91.          this.processItemEvent((ItemEvent)var1);
  92.       } else {
  93.          super.processEvent(var1);
  94.       }
  95.    }
  96.  
  97.    protected void processItemEvent(ItemEvent var1) {
  98.       if (this.itemListener != null) {
  99.          this.itemListener.itemStateChanged(var1);
  100.       }
  101.  
  102.    }
  103.  
  104.    public String paramString() {
  105.       return super.paramString() + ",state=" + this.state;
  106.    }
  107.  
  108.    private void writeObject(ObjectOutputStream var1) throws IOException {
  109.       var1.defaultWriteObject();
  110.       AWTEventMulticaster.save(var1, "itemL", this.itemListener);
  111.       var1.writeObject((Object)null);
  112.    }
  113.  
  114.    private void readObject(ObjectInputStream var1) throws ClassNotFoundException, IOException {
  115.       var1.defaultReadObject();
  116.  
  117.       Object var2;
  118.       while((var2 = var1.readObject()) != null) {
  119.          String var3 = ((String)var2).intern();
  120.          if (var3 == "itemL") {
  121.             this.addItemListener((ItemListener)var1.readObject());
  122.          } else {
  123.             var1.readObject();
  124.          }
  125.       }
  126.  
  127.    }
  128. }
  129.