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 / MetalButtonUI.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-02-26  |  2.7 KB  |  73 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.JComponent;
  6. import com.sun.java.swing.UIManager;
  7. import com.sun.java.swing.plaf.ComponentUI;
  8. import com.sun.java.swing.plaf.basic.BasicButtonListener;
  9. import com.sun.java.swing.plaf.basic.BasicButtonUI;
  10. import com.sun.java.swing.plaf.basic.BasicGraphicsUtils;
  11. import java.awt.Color;
  12. import java.awt.Component;
  13. import java.awt.Dimension;
  14. import java.awt.FontMetrics;
  15. import java.awt.Graphics;
  16. import java.awt.Rectangle;
  17.  
  18. public class MetalButtonUI extends BasicButtonUI {
  19.    private static final MetalButtonUI metalButtonUI = new MetalButtonUI();
  20.  
  21.    protected Color getSelectColor() {
  22.       return UIManager.getColor("Button.pressed");
  23.    }
  24.  
  25.    protected Color getDisabledTextColor() {
  26.       return UIManager.getColor("Button.disabledText");
  27.    }
  28.  
  29.    protected Color getFocusColor() {
  30.       return UIManager.getColor("Button.focus");
  31.    }
  32.  
  33.    public static ComponentUI createUI(JComponent var0) {
  34.       return metalButtonUI;
  35.    }
  36.  
  37.    public void installUI(JComponent var1) {
  38.       super.installUI(var1);
  39.       var1.setOpaque(true);
  40.    }
  41.  
  42.    protected void paintButtonPressed(Graphics var1, AbstractButton var2) {
  43.       if (((JComponent)var2).isOpaque()) {
  44.          Dimension var3 = ((Component)var2).getSize();
  45.          var1.setColor(this.getSelectColor());
  46.          var1.fillRect(0, 0, var3.width, var3.height);
  47.       }
  48.  
  49.    }
  50.  
  51.    protected void paintFocus(Graphics var1, Dimension var2) {
  52.       var1.setColor(this.getFocusColor());
  53.       var1.drawRect(2, 2, var2.width - 5, var2.height - 5);
  54.    }
  55.  
  56.    protected void paintText(Graphics var1, JComponent var2, Rectangle var3, String var4) {
  57.       AbstractButton var5 = (AbstractButton)var2;
  58.       ButtonModel var6 = var5.getModel();
  59.       FontMetrics var7 = var1.getFontMetrics();
  60.       if (var6.isEnabled()) {
  61.          var1.setColor(((Component)var5).getForeground());
  62.          BasicGraphicsUtils.drawString(var1, var4, var6.getMnemonic(), var3.x, var3.y + var7.getAscent());
  63.       } else {
  64.          var1.setColor(UIManager.getColor("Button.disabledText"));
  65.          BasicGraphicsUtils.drawString(var1, var4, var6.getMnemonic(), var3.x, var3.y + var7.getAscent());
  66.       }
  67.    }
  68.  
  69.    protected BasicButtonListener createListener(JComponent var1) {
  70.       return new MetalButtonListener((AbstractButton)var1);
  71.    }
  72. }
  73.