home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 144 / DPCS0200.iso / Internet / Supanet / system / swing.jar / javax / swing / plaf / metal / MetalToggleButtonUI.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-11-05  |  3.5 KB  |  102 lines

  1. package javax.swing.plaf.metal;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Component;
  5. import java.awt.Dimension;
  6. import java.awt.FontMetrics;
  7. import java.awt.Graphics;
  8. import java.awt.Rectangle;
  9. import javax.swing.AbstractButton;
  10. import javax.swing.ButtonModel;
  11. import javax.swing.JComponent;
  12. import javax.swing.UIManager;
  13. import javax.swing.plaf.ComponentUI;
  14. import javax.swing.plaf.basic.BasicGraphicsUtils;
  15. import javax.swing.plaf.basic.BasicToggleButtonUI;
  16.  
  17. public class MetalToggleButtonUI extends BasicToggleButtonUI {
  18.    private static final MetalToggleButtonUI metalToggleButtonUI = new MetalToggleButtonUI();
  19.    protected Color focusColor;
  20.    protected Color selectColor;
  21.    protected Color disabledTextColor;
  22.    private boolean defaults_initialized = false;
  23.  
  24.    public static ComponentUI createUI(JComponent var0) {
  25.       return metalToggleButtonUI;
  26.    }
  27.  
  28.    protected Color getDisabledTextColor() {
  29.       return this.disabledTextColor;
  30.    }
  31.  
  32.    protected Color getFocusColor() {
  33.       return this.focusColor;
  34.    }
  35.  
  36.    protected Color getSelectColor() {
  37.       return this.selectColor;
  38.    }
  39.  
  40.    public void installDefaults(AbstractButton var1) {
  41.       super.installDefaults(var1);
  42.       if (!this.defaults_initialized) {
  43.          this.focusColor = UIManager.getColor(((BasicToggleButtonUI)this).getPropertyPrefix() + "focus");
  44.          this.selectColor = UIManager.getColor(((BasicToggleButtonUI)this).getPropertyPrefix() + "select");
  45.          this.disabledTextColor = UIManager.getColor(((BasicToggleButtonUI)this).getPropertyPrefix() + "disabledText");
  46.          this.defaults_initialized = true;
  47.       }
  48.  
  49.    }
  50.  
  51.    protected void paintButtonPressed(Graphics var1, AbstractButton var2) {
  52.       if (var2.isContentAreaFilled()) {
  53.          Dimension var3 = ((Component)var2).getSize();
  54.          var1.setColor(this.getSelectColor());
  55.          var1.fillRect(0, 0, var3.width, var3.height);
  56.       }
  57.  
  58.    }
  59.  
  60.    protected void paintFocus(Graphics var1, AbstractButton var2, Rectangle var3, Rectangle var4, Rectangle var5) {
  61.       Rectangle var6 = new Rectangle();
  62.       String var7 = var2.getText();
  63.       boolean var8 = var2.getIcon() != null;
  64.       if (var7 != null && !var7.equals("")) {
  65.          if (!var8) {
  66.             var6.setBounds(var4);
  67.          } else {
  68.             var6.setBounds(var5.union(var4));
  69.          }
  70.       } else if (var8) {
  71.          var6.setBounds(var5);
  72.       }
  73.  
  74.       var1.setColor(this.getFocusColor());
  75.       var1.drawRect(var6.x - 1, var6.y - 1, var6.width + 1, var6.height + 1);
  76.    }
  77.  
  78.    protected void paintText(Graphics var1, JComponent var2, Rectangle var3, String var4) {
  79.       AbstractButton var5 = (AbstractButton)var2;
  80.       ButtonModel var6 = var5.getModel();
  81.       FontMetrics var7 = var1.getFontMetrics();
  82.       if (var6.isEnabled()) {
  83.          var1.setColor(((Component)var5).getForeground());
  84.          BasicGraphicsUtils.drawString(var1, var4, var6.getMnemonic(), var3.x, var3.y + var7.getAscent());
  85.       } else {
  86.          if (var6.isSelected()) {
  87.             var1.setColor(((Component)var2).getBackground());
  88.          } else {
  89.             var1.setColor(this.getDisabledTextColor());
  90.          }
  91.  
  92.          BasicGraphicsUtils.drawString(var1, var4, var6.getMnemonic(), var3.x, var3.y + var7.getAscent());
  93.       }
  94.  
  95.    }
  96.  
  97.    protected void uninstallDefaults(AbstractButton var1) {
  98.       super.uninstallDefaults(var1);
  99.       this.defaults_initialized = false;
  100.    }
  101. }
  102.