home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &… the Search for Life CD 3 / 0_CD-ROM.iso / install / jre1_3 / lib / rt.jar / javax / swing / plaf / basic / BasicToggleButtonUI.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  4.2 KB  |  131 lines

  1. package javax.swing.plaf.basic;
  2.  
  3. import java.awt.Component;
  4. import java.awt.Dimension;
  5. import java.awt.Font;
  6. import java.awt.FontMetrics;
  7. import java.awt.Graphics;
  8. import java.awt.Insets;
  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.plaf.ComponentUI;
  16. import javax.swing.text.View;
  17.  
  18. public class BasicToggleButtonUI extends BasicButtonUI {
  19.    private static final BasicToggleButtonUI toggleButtonUI = new BasicToggleButtonUI();
  20.    private static final String propertyPrefix = "ToggleButton.";
  21.  
  22.    public static ComponentUI createUI(JComponent var0) {
  23.       return toggleButtonUI;
  24.    }
  25.  
  26.    protected String getPropertyPrefix() {
  27.       return "ToggleButton.";
  28.    }
  29.  
  30.    public void paint(Graphics var1, JComponent var2) {
  31.       AbstractButton var3 = (AbstractButton)var2;
  32.       ButtonModel var4 = var3.getModel();
  33.       Dimension var5 = ((Component)var3).getSize();
  34.       FontMetrics var6 = var1.getFontMetrics();
  35.       Insets var7 = var2.getInsets();
  36.       Rectangle var8 = new Rectangle(var5);
  37.       var8.x += var7.left;
  38.       var8.y += var7.top;
  39.       var8.width -= var7.right + var8.x;
  40.       var8.height -= var7.bottom + var8.y;
  41.       Rectangle var9 = new Rectangle();
  42.       Rectangle var10 = new Rectangle();
  43.       Font var11 = ((Component)var2).getFont();
  44.       var1.setFont(var11);
  45.       String var12 = SwingUtilities.layoutCompoundLabel(var2, var6, var3.getText(), var3.getIcon(), var3.getVerticalAlignment(), var3.getHorizontalAlignment(), var3.getVerticalTextPosition(), var3.getHorizontalTextPosition(), var8, var9, var10, var3.getText() == null ? 0 : ((BasicButtonUI)this).getDefaultTextIconGap(var3));
  46.       var1.setColor(((Component)var3).getBackground());
  47.       if ((!var4.isArmed() || !var4.isPressed()) && !var4.isSelected()) {
  48.          if (((JComponent)var3).isOpaque()) {
  49.             Insets var13 = ((JComponent)var3).getInsets();
  50.             Insets var14 = var3.getMargin();
  51.             var1.fillRect(var13.left - var14.left, var13.top - var14.top, var5.width - (var13.left - var14.left) - (var13.right - var14.right), var5.height - (var13.top - var14.top) - (var13.bottom - var14.bottom));
  52.          }
  53.       } else {
  54.          this.paintButtonPressed(var1, var3);
  55.       }
  56.  
  57.       if (var3.getIcon() != null) {
  58.          this.paintIcon(var1, var3, var9);
  59.       }
  60.  
  61.       if (var12 != null && !var12.equals("")) {
  62.          View var15 = (View)var2.getClientProperty("html");
  63.          if (var15 != null) {
  64.             var15.paint(var1, var10);
  65.          } else {
  66.             this.paintText(var1, var3, var10, var12);
  67.          }
  68.       }
  69.  
  70.       if (var3.isFocusPainted() && ((JComponent)var3).hasFocus()) {
  71.          this.paintFocus(var1, var3, var8, var10, var9);
  72.       }
  73.  
  74.    }
  75.  
  76.    protected void paintIcon(Graphics var1, AbstractButton var2, Rectangle var3) {
  77.       ButtonModel var4 = var2.getModel();
  78.       Icon var5 = null;
  79.       if (!var4.isEnabled()) {
  80.          if (var4.isSelected()) {
  81.             var5 = var2.getDisabledSelectedIcon();
  82.          } else {
  83.             var5 = var2.getDisabledIcon();
  84.          }
  85.       } else if (var4.isPressed() && var4.isArmed()) {
  86.          var5 = var2.getPressedIcon();
  87.          if (var5 == null) {
  88.             var5 = var2.getSelectedIcon();
  89.          }
  90.       } else if (var4.isSelected()) {
  91.          if (var2.isRolloverEnabled() && var4.isRollover()) {
  92.             var5 = var2.getRolloverSelectedIcon();
  93.             if (var5 == null) {
  94.                var5 = var2.getSelectedIcon();
  95.             }
  96.          } else {
  97.             var5 = var2.getSelectedIcon();
  98.          }
  99.       } else if (var2.isRolloverEnabled() && var4.isRollover()) {
  100.          var5 = var2.getRolloverIcon();
  101.       }
  102.  
  103.       if (var5 == null) {
  104.          var5 = var2.getIcon();
  105.       }
  106.  
  107.       var5.paintIcon(var2, var1, var3.x, var3.y);
  108.    }
  109.  
  110.    protected void paintText(Graphics var1, AbstractButton var2, Rectangle var3, String var4) {
  111.       ButtonModel var5 = var2.getModel();
  112.       FontMetrics var6 = var1.getFontMetrics();
  113.       if (var5.isEnabled()) {
  114.          var1.setColor(((Component)var2).getForeground());
  115.          BasicGraphicsUtils.drawString(var1, var4, var5.getMnemonic(), var3.x, var3.y + var6.getAscent());
  116.       } else {
  117.          var1.setColor(((Component)var2).getBackground().brighter());
  118.          BasicGraphicsUtils.drawString(var1, var4, var5.getMnemonic(), var3.x, var3.y + var6.getAscent());
  119.          var1.setColor(((Component)var2).getBackground().darker());
  120.          BasicGraphicsUtils.drawString(var1, var4, var5.getMnemonic(), var3.x - 1, var3.y + var6.getAscent() - 1);
  121.       }
  122.  
  123.    }
  124.  
  125.    protected void paintFocus(Graphics var1, AbstractButton var2, Rectangle var3, Rectangle var4, Rectangle var5) {
  126.    }
  127.  
  128.    protected void paintButtonPressed(Graphics var1, AbstractButton var2) {
  129.    }
  130. }
  131.