home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1999 April / DPPCPRO0499.ISO / April / Notes / 50b2wic.exe / DATA1.CAB / NotesProgramFilesJavaSupport / rt.jar / java / awt / Checkbox.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-04-23  |  4.5 KB  |  199 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.    synchronized 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.       super.name = "checkbox" + nameCounter++;
  44.       this.label = var1;
  45.       this.state = var2;
  46.       this.group = var3;
  47.       if (var2 && var3 != null) {
  48.          var3.setSelectedCheckbox(this);
  49.       }
  50.  
  51.    }
  52.  
  53.    public Checkbox(String var1, CheckboxGroup var2, boolean var3) {
  54.       this(var1, var3, var2);
  55.    }
  56.  
  57.    public void addNotify() {
  58.       Object var1 = ((Component)this).getTreeLock();
  59.       synchronized(var1){}
  60.  
  61.       try {
  62.          if (super.peer == null) {
  63.             super.peer = ((Component)this).getToolkit().createCheckbox(this);
  64.          }
  65.  
  66.          super.addNotify();
  67.       } catch (Throwable var3) {
  68.          throw var3;
  69.       }
  70.  
  71.    }
  72.  
  73.    public String getLabel() {
  74.       return this.label;
  75.    }
  76.  
  77.    public synchronized void setLabel(String var1) {
  78.       this.label = var1;
  79.       CheckboxPeer var2 = (CheckboxPeer)super.peer;
  80.       if (var2 != null) {
  81.          var2.setLabel(var1);
  82.       }
  83.  
  84.    }
  85.  
  86.    public boolean getState() {
  87.       return this.state;
  88.    }
  89.  
  90.    public void setState(boolean var1) {
  91.       CheckboxGroup var2 = this.group;
  92.       if (var2 != null) {
  93.          if (var1) {
  94.             var2.setSelectedCheckbox(this);
  95.          } else if (var2.getSelectedCheckbox() == this) {
  96.             var1 = true;
  97.          }
  98.       }
  99.  
  100.       this.setStateInternal(var1);
  101.    }
  102.  
  103.    public Object[] getSelectedObjects() {
  104.       if (this.state) {
  105.          Object[] var1 = new Object[]{this.label};
  106.          return var1;
  107.       } else {
  108.          return null;
  109.       }
  110.    }
  111.  
  112.    public CheckboxGroup getCheckboxGroup() {
  113.       return this.group;
  114.    }
  115.  
  116.    public void setCheckboxGroup(CheckboxGroup var1) {
  117.       CheckboxGroup var2 = this.group;
  118.       if (var2 != null) {
  119.          var2.setSelectedCheckbox((Checkbox)null);
  120.       }
  121.  
  122.       synchronized(this){}
  123.  
  124.       try {
  125.          this.group = var1;
  126.          CheckboxPeer var5 = (CheckboxPeer)super.peer;
  127.          if (var5 != null) {
  128.             var5.setCheckboxGroup(var1);
  129.          }
  130.       } catch (Throwable var7) {
  131.          throw var7;
  132.       }
  133.  
  134.    }
  135.  
  136.    public synchronized void addItemListener(ItemListener var1) {
  137.       this.itemListener = AWTEventMulticaster.add(this.itemListener, var1);
  138.       super.newEventsOnly = true;
  139.    }
  140.  
  141.    public synchronized void removeItemListener(ItemListener var1) {
  142.       this.itemListener = AWTEventMulticaster.remove(this.itemListener, var1);
  143.    }
  144.  
  145.    boolean eventEnabled(AWTEvent var1) {
  146.       if (var1.id == 701) {
  147.          return (super.eventMask & 512L) != 0L || this.itemListener != null;
  148.       } else {
  149.          return super.eventEnabled(var1);
  150.       }
  151.    }
  152.  
  153.    protected void processEvent(AWTEvent var1) {
  154.       if (var1 instanceof ItemEvent) {
  155.          this.processItemEvent((ItemEvent)var1);
  156.       } else {
  157.          super.processEvent(var1);
  158.       }
  159.    }
  160.  
  161.    protected void processItemEvent(ItemEvent var1) {
  162.       if (this.itemListener != null) {
  163.          this.itemListener.itemStateChanged(var1);
  164.       }
  165.  
  166.    }
  167.  
  168.    protected String paramString() {
  169.       String var1 = super.paramString();
  170.       String var2 = this.label;
  171.       if (var2 != null) {
  172.          var1 = var1 + ",label=" + var2;
  173.       }
  174.  
  175.       return var1 + ",state=" + this.state;
  176.    }
  177.  
  178.    private void writeObject(ObjectOutputStream var1) throws IOException {
  179.       var1.defaultWriteObject();
  180.       AWTEventMulticaster.save(var1, "itemL", this.itemListener);
  181.       var1.writeObject((Object)null);
  182.    }
  183.  
  184.    private void readObject(ObjectInputStream var1) throws ClassNotFoundException, IOException {
  185.       var1.defaultReadObject();
  186.  
  187.       Object var2;
  188.       while((var2 = var1.readObject()) != null) {
  189.          String var3 = ((String)var2).intern();
  190.          if (var3 == "itemL") {
  191.             this.addItemListener((ItemListener)var1.readObject());
  192.          } else {
  193.             var1.readObject();
  194.          }
  195.       }
  196.  
  197.    }
  198. }
  199.