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