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 / Checkbox.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-11-11  |  4.6 KB  |  202 lines

  1. package java.awt;
  2.  
  3. import java.awt.event.ItemEvent;
  4. import java.awt.event.ItemListener;
  5. import java.awt.peer.CheckboxPeer;
  6. import java.io.IOException;
  7. import java.io.ObjectInputStream;
  8. import java.io.ObjectOutputStream;
  9.  
  10. public class Checkbox extends Component implements ItemSelectable {
  11.    String label;
  12.    boolean state;
  13.    CheckboxGroup group;
  14.    transient ItemListener itemListener;
  15.    private static final String base = "checkbox";
  16.    private static int nameCounter;
  17.    private static final long serialVersionUID = 7270714317450821763L;
  18.    private int checkboxSerializedDataVersion;
  19.  
  20.    void setStateInternal(boolean var1) {
  21.       this.state = var1;
  22.       CheckboxPeer var2 = (CheckboxPeer)super.peer;
  23.       if (var2 != null) {
  24.          var2.setState(var1);
  25.       }
  26.  
  27.    }
  28.  
  29.    public Checkbox() {
  30.       this("", false, (CheckboxGroup)null);
  31.    }
  32.  
  33.    public Checkbox(String var1) {
  34.       this(var1, false, (CheckboxGroup)null);
  35.    }
  36.  
  37.    public Checkbox(String var1, boolean var2) {
  38.       this(var1, var2, (CheckboxGroup)null);
  39.    }
  40.  
  41.    public Checkbox(String var1, boolean var2, CheckboxGroup var3) {
  42.       this.checkboxSerializedDataVersion = 1;
  43.       this.label = var1;
  44.       this.state = var2;
  45.       this.group = var3;
  46.       if (var2 && var3 != null) {
  47.          var3.setSelectedCheckbox(this);
  48.       }
  49.  
  50.    }
  51.  
  52.    public Checkbox(String var1, CheckboxGroup var2, boolean var3) {
  53.       this(var1, var3, var2);
  54.    }
  55.  
  56.    String constructComponentName() {
  57.       return "checkbox" + nameCounter++;
  58.    }
  59.  
  60.    public void addNotify() {
  61.       Object var1 = ((Component)this).getTreeLock();
  62.       synchronized(var1){}
  63.  
  64.       try {
  65.          if (super.peer == null) {
  66.             super.peer = ((Component)this).getToolkit().createCheckbox(this);
  67.          }
  68.  
  69.          super.addNotify();
  70.       } catch (Throwable var3) {
  71.          throw var3;
  72.       }
  73.  
  74.    }
  75.  
  76.    public String getLabel() {
  77.       return this.label;
  78.    }
  79.  
  80.    public synchronized void setLabel(String var1) {
  81.       this.label = var1;
  82.       CheckboxPeer var2 = (CheckboxPeer)super.peer;
  83.       if (var2 != null) {
  84.          var2.setLabel(var1);
  85.       }
  86.  
  87.    }
  88.  
  89.    public boolean getState() {
  90.       return this.state;
  91.    }
  92.  
  93.    public void setState(boolean var1) {
  94.       CheckboxGroup var2 = this.group;
  95.       if (var2 != null) {
  96.          if (var1) {
  97.             var2.setSelectedCheckbox(this);
  98.          } else if (var2.getSelectedCheckbox() == this) {
  99.             var1 = true;
  100.          }
  101.       }
  102.  
  103.       this.setStateInternal(var1);
  104.    }
  105.  
  106.    public Object[] getSelectedObjects() {
  107.       if (this.state) {
  108.          Object[] var1 = new Object[]{this.label};
  109.          return var1;
  110.       } else {
  111.          return null;
  112.       }
  113.    }
  114.  
  115.    public CheckboxGroup getCheckboxGroup() {
  116.       return this.group;
  117.    }
  118.  
  119.    public void setCheckboxGroup(CheckboxGroup var1) {
  120.       CheckboxGroup var2 = this.group;
  121.       if (var2 != null) {
  122.          var2.setSelectedCheckbox((Checkbox)null);
  123.       }
  124.  
  125.       synchronized(this){}
  126.  
  127.       try {
  128.          this.group = var1;
  129.          CheckboxPeer var5 = (CheckboxPeer)super.peer;
  130.          if (var5 != null) {
  131.             var5.setCheckboxGroup(var1);
  132.          }
  133.       } catch (Throwable var7) {
  134.          throw var7;
  135.       }
  136.  
  137.    }
  138.  
  139.    public synchronized void addItemListener(ItemListener var1) {
  140.       this.itemListener = AWTEventMulticaster.add(this.itemListener, var1);
  141.       super.newEventsOnly = true;
  142.    }
  143.  
  144.    public synchronized void removeItemListener(ItemListener var1) {
  145.       this.itemListener = AWTEventMulticaster.remove(this.itemListener, var1);
  146.    }
  147.  
  148.    boolean eventEnabled(AWTEvent var1) {
  149.       if (var1.id == 701) {
  150.          return (super.eventMask & 512L) != 0L || this.itemListener != null;
  151.       } else {
  152.          return super.eventEnabled(var1);
  153.       }
  154.    }
  155.  
  156.    protected void processEvent(AWTEvent var1) {
  157.       if (var1 instanceof ItemEvent) {
  158.          this.processItemEvent((ItemEvent)var1);
  159.       } else {
  160.          super.processEvent(var1);
  161.       }
  162.    }
  163.  
  164.    protected void processItemEvent(ItemEvent var1) {
  165.       if (this.itemListener != null) {
  166.          this.itemListener.itemStateChanged(var1);
  167.       }
  168.  
  169.    }
  170.  
  171.    protected String paramString() {
  172.       String var1 = super.paramString();
  173.       String var2 = this.label;
  174.       if (var2 != null) {
  175.          var1 = var1 + ",label=" + var2;
  176.       }
  177.  
  178.       return var1 + ",state=" + this.state;
  179.    }
  180.  
  181.    private void writeObject(ObjectOutputStream var1) throws IOException {
  182.       var1.defaultWriteObject();
  183.       AWTEventMulticaster.save(var1, "itemL", this.itemListener);
  184.       var1.writeObject((Object)null);
  185.    }
  186.  
  187.    private void readObject(ObjectInputStream var1) throws ClassNotFoundException, IOException {
  188.       var1.defaultReadObject();
  189.  
  190.       Object var2;
  191.       while((var2 = var1.readObject()) != null) {
  192.          String var3 = ((String)var2).intern();
  193.          if (var3 == "itemL") {
  194.             this.addItemListener((ItemListener)var1.readObject());
  195.          } else {
  196.             var1.readObject();
  197.          }
  198.       }
  199.  
  200.    }
  201. }
  202.