home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 March / pcp161a.iso / handson / files / copyjava.exe / com / sun / java / swing / plaf / metal / MetalCheckBoxIcon.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-02-26  |  1.7 KB  |  58 lines

  1. package com.sun.java.swing.plaf.metal;
  2.  
  3. import com.sun.java.swing.AbstractButton;
  4. import com.sun.java.swing.ButtonModel;
  5. import com.sun.java.swing.Icon;
  6. import com.sun.java.swing.JCheckBox;
  7. import com.sun.java.swing.plaf.UIResource;
  8. import java.awt.Component;
  9. import java.awt.Graphics;
  10. import java.io.Serializable;
  11.  
  12. public class MetalCheckBoxIcon implements Icon, UIResource, Serializable {
  13.    protected int getControlSize() {
  14.       return 13;
  15.    }
  16.  
  17.    public void paintIcon(Component var1, Graphics var2, int var3, int var4) {
  18.       JCheckBox var5 = (JCheckBox)var1;
  19.       ButtonModel var6 = ((AbstractButton)var5).getModel();
  20.       int var7 = this.getControlSize();
  21.       var6.isSelected();
  22.       if (var6.isEnabled()) {
  23.          if (var6.isPressed() && var6.isArmed()) {
  24.             var2.setColor(MetalLookAndFeel.getControlShadow());
  25.             var2.fillRect(var3, var4, var7 - 1, var7 - 1);
  26.             MetalUtils.drawPressed3DBorder(var2, var3, var4, var7, var7);
  27.          } else {
  28.             MetalUtils.drawFlush3DBorder(var2, var3, var4, var7, var7);
  29.          }
  30.  
  31.          var2.setColor(MetalLookAndFeel.getControlInfo());
  32.       } else {
  33.          var2.setColor(MetalLookAndFeel.getControlShadow());
  34.          var2.drawRect(var3, var4, var7 - 1, var7 - 1);
  35.       }
  36.  
  37.       if (var6.isSelected()) {
  38.          this.drawCheck(var1, var2, var3, var4);
  39.       }
  40.  
  41.    }
  42.  
  43.    protected void drawCheck(Component var1, Graphics var2, int var3, int var4) {
  44.       int var5 = this.getControlSize();
  45.       var2.fillRect(var3 + 3, var4 + 5, 2, var5 - 8);
  46.       var2.drawLine(var3 + (var5 - 4), var4 + 3, var3 + 5, var4 + (var5 - 6));
  47.       var2.drawLine(var3 + (var5 - 4), var4 + 4, var3 + 5, var4 + (var5 - 5));
  48.    }
  49.  
  50.    public int getIconWidth() {
  51.       return this.getControlSize();
  52.    }
  53.  
  54.    public int getIconHeight() {
  55.       return this.getControlSize();
  56.    }
  57. }
  58.