home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1998 January / PCO0198.ISO / 1&1 / java.z / java_301 / sun / awt / windows / WCheckboxPeer.class (.txt) < prev    next >
Encoding:
Java Class File  |  1996-10-20  |  2.0 KB  |  48 lines

  1. package sun.awt.windows;
  2.  
  3. import java.awt.Checkbox;
  4. import java.awt.CheckboxGroup;
  5. import java.awt.Component;
  6. import java.awt.Dimension;
  7. import java.awt.Event;
  8. import java.awt.FontMetrics;
  9. import java.awt.peer.CheckboxPeer;
  10.  
  11. public class WCheckboxPeer extends WComponentPeer implements CheckboxPeer {
  12.    native void create(WComponentPeer var1);
  13.  
  14.    public native void setLabel(String var1);
  15.  
  16.    void initialize() {
  17.       Checkbox t = (Checkbox)super.target;
  18.       this.setState(t.getState());
  19.       this.setCheckboxGroup(t.getCheckboxGroup());
  20.       this.setLabel(t.getLabel());
  21.       super.initialize();
  22.    }
  23.  
  24.    public WCheckboxPeer(Checkbox target) {
  25.       super(target);
  26.    }
  27.  
  28.    public native void setState(boolean var1);
  29.  
  30.    public native void setCheckboxGroup(CheckboxGroup var1);
  31.  
  32.    public Dimension minimumSize() {
  33.       String lbl = ((Checkbox)super.target).getLabel();
  34.       if (lbl != null) {
  35.          FontMetrics fm = ((WComponentPeer)this).getFontMetrics(super.target.getFont());
  36.          return new Dimension(30 + fm.stringWidth(lbl), Math.max(fm.getHeight() + 8, 15));
  37.       } else {
  38.          return new Dimension(20, 15);
  39.       }
  40.    }
  41.  
  42.    void handleAction(long time, int msgData, boolean state) {
  43.       Checkbox target = (Checkbox)super.target;
  44.       target.setState(state);
  45.       ((Component)target).postEvent(new Event(target, 1001, new Boolean(state)));
  46.    }
  47. }
  48.