home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 144 / DPCS0200.iso / Internet / Supanet / system / swing.jar / javax / swing / plaf / metal / MetalRadioButtonUI.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-11-05  |  4.5 KB  |  133 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.Font;
  7. import java.awt.FontMetrics;
  8. import java.awt.Graphics;
  9. import java.awt.Rectangle;
  10. import javax.swing.AbstractButton;
  11. import javax.swing.ButtonModel;
  12. import javax.swing.Icon;
  13. import javax.swing.JComponent;
  14. import javax.swing.SwingUtilities;
  15. import javax.swing.UIManager;
  16. import javax.swing.plaf.ComponentUI;
  17. import javax.swing.plaf.basic.BasicButtonUI;
  18. import javax.swing.plaf.basic.BasicGraphicsUtils;
  19. import javax.swing.plaf.basic.BasicRadioButtonUI;
  20.  
  21. public class MetalRadioButtonUI extends BasicRadioButtonUI {
  22.    private static final MetalRadioButtonUI metalRadioButtonUI = new MetalRadioButtonUI();
  23.    protected Color focusColor;
  24.    protected Color selectColor;
  25.    protected Color disabledTextColor;
  26.    private boolean defaults_initialized = false;
  27.  
  28.    public static ComponentUI createUI(JComponent var0) {
  29.       return metalRadioButtonUI;
  30.    }
  31.  
  32.    protected Color getDisabledTextColor() {
  33.       return this.disabledTextColor;
  34.    }
  35.  
  36.    protected Color getFocusColor() {
  37.       return this.focusColor;
  38.    }
  39.  
  40.    protected Color getSelectColor() {
  41.       return this.selectColor;
  42.    }
  43.  
  44.    public void installDefaults(AbstractButton var1) {
  45.       super.installDefaults(var1);
  46.       if (!this.defaults_initialized) {
  47.          this.focusColor = UIManager.getColor(((BasicRadioButtonUI)this).getPropertyPrefix() + "focus");
  48.          this.selectColor = UIManager.getColor(((BasicRadioButtonUI)this).getPropertyPrefix() + "select");
  49.          this.disabledTextColor = UIManager.getColor(((BasicRadioButtonUI)this).getPropertyPrefix() + "disabledText");
  50.          this.defaults_initialized = true;
  51.       }
  52.  
  53.       ((JComponent)var1).setOpaque(true);
  54.    }
  55.  
  56.    public synchronized void paint(Graphics var1, JComponent var2) {
  57.       AbstractButton var3 = (AbstractButton)var2;
  58.       ButtonModel var4 = var3.getModel();
  59.       Dimension var5 = ((Component)var2).getSize();
  60.       int var6 = var5.width;
  61.       int var7 = var5.height;
  62.       Font var8 = ((Component)var2).getFont();
  63.       var1.setFont(var8);
  64.       FontMetrics var9 = var1.getFontMetrics();
  65.       Rectangle var10 = new Rectangle(var5);
  66.       Rectangle var11 = new Rectangle();
  67.       Rectangle var12 = new Rectangle();
  68.       Icon var13 = var3.getIcon();
  69.       Object var14 = null;
  70.       Object var15 = null;
  71.       String var16 = SwingUtilities.layoutCompoundLabel(var2, var9, var3.getText(), var13 != null ? var13 : ((BasicRadioButtonUI)this).getDefaultIcon(), var3.getVerticalAlignment(), var3.getHorizontalAlignment(), var3.getVerticalTextPosition(), var3.getHorizontalTextPosition(), var10, var11, var12, ((BasicButtonUI)this).getDefaultTextIconGap(var3));
  72.       if (var2.isOpaque()) {
  73.          var1.setColor(((Component)var3).getBackground());
  74.          var1.fillRect(0, 0, var5.width, var5.height);
  75.       }
  76.  
  77.       if (var13 != null) {
  78.          if (!var4.isEnabled()) {
  79.             var13 = var3.getDisabledIcon();
  80.          } else if (var4.isPressed() && var4.isArmed()) {
  81.             var13 = var3.getPressedIcon();
  82.             if (var13 == null) {
  83.                var13 = var3.getSelectedIcon();
  84.             }
  85.          } else if (var4.isSelected()) {
  86.             if (var3.isRolloverEnabled() && var4.isRollover()) {
  87.                var13 = var3.getRolloverSelectedIcon();
  88.                if (var13 == null) {
  89.                   var13 = var3.getSelectedIcon();
  90.                }
  91.             } else {
  92.                var13 = var3.getSelectedIcon();
  93.             }
  94.          } else if (var3.isRolloverEnabled() && var4.isRollover()) {
  95.             var13 = var3.getRolloverIcon();
  96.          }
  97.  
  98.          if (var13 == null) {
  99.             var13 = var3.getIcon();
  100.          }
  101.  
  102.          var13.paintIcon(var2, var1, var11.x, var11.y);
  103.       } else {
  104.          ((BasicRadioButtonUI)this).getDefaultIcon().paintIcon(var2, var1, var11.x, var11.y);
  105.       }
  106.  
  107.       if (var16 != null) {
  108.          if (var4.isEnabled()) {
  109.             var1.setColor(((Component)var3).getForeground());
  110.             BasicGraphicsUtils.drawString(var1, var16, var4.getMnemonic(), var12.x, var12.y + var9.getAscent());
  111.          } else {
  112.             var1.setColor(((Component)var3).getBackground().darker());
  113.             BasicGraphicsUtils.drawString(var1, var16, var4.getMnemonic(), var12.x, var12.y + var9.getAscent());
  114.          }
  115.  
  116.          if (((JComponent)var3).hasFocus() && var3.isFocusPainted() && var12.width > 0 && var12.height > 0) {
  117.             this.paintFocus(var1, var12, var5);
  118.          }
  119.       }
  120.  
  121.    }
  122.  
  123.    protected void paintFocus(Graphics var1, Rectangle var2, Dimension var3) {
  124.       var1.setColor(this.getFocusColor());
  125.       var1.drawRect(var2.x, var2.y - 1, var2.width + 1, var2.height + 1);
  126.    }
  127.  
  128.    protected void uninstallDefaults(AbstractButton var1) {
  129.       super.uninstallDefaults(var1);
  130.       this.defaults_initialized = false;
  131.    }
  132. }
  133.