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