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 / BasicArrowButton.class (.txt) next >
Encoding:
Java Class File  |  1979-12-31  |  2.3 KB  |  175 lines

  1. package javax.swing.plaf.basic;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Component;
  5. import java.awt.Dimension;
  6. import java.awt.Graphics;
  7. import javax.swing.AbstractButton;
  8. import javax.swing.JButton;
  9. import javax.swing.JComponent;
  10. import javax.swing.SwingConstants;
  11. import javax.swing.UIManager;
  12.  
  13. public class BasicArrowButton extends JButton implements SwingConstants {
  14.    protected int direction;
  15.  
  16.    public BasicArrowButton(int var1) {
  17.       ((JComponent)this).setRequestFocusEnabled(false);
  18.       this.setDirection(var1);
  19.       ((JComponent)this).setBackground(UIManager.getColor("control"));
  20.    }
  21.  
  22.    public int getDirection() {
  23.       return this.direction;
  24.    }
  25.  
  26.    public void setDirection(int var1) {
  27.       this.direction = var1;
  28.    }
  29.  
  30.    public void paint(Graphics var1) {
  31.       int var5 = ((Component)this).getSize().width;
  32.       int var6 = ((Component)this).getSize().height;
  33.       Color var2 = var1.getColor();
  34.       boolean var3 = ((AbstractButton)this).getModel().isPressed();
  35.       boolean var4 = ((Component)this).isEnabled();
  36.       var1.setColor(((Component)this).getBackground());
  37.       var1.fillRect(1, 1, var5 - 2, var6 - 2);
  38.       if (var3) {
  39.          var1.setColor(UIManager.getColor("controlShadow"));
  40.          var1.drawRect(0, 0, var5 - 1, var6 - 1);
  41.       } else {
  42.          var1.drawLine(0, 0, 0, var6 - 1);
  43.          var1.drawLine(1, 0, var5 - 2, 0);
  44.          var1.setColor(UIManager.getColor("controlLtHighlight"));
  45.          var1.drawLine(1, 1, 1, var6 - 3);
  46.          var1.drawLine(2, 1, var5 - 3, 1);
  47.          var1.setColor(UIManager.getColor("controlShadow"));
  48.          var1.drawLine(1, var6 - 2, var5 - 2, var6 - 2);
  49.          var1.drawLine(var5 - 2, 1, var5 - 2, var6 - 3);
  50.          var1.setColor(UIManager.getColor("controlDkShadow"));
  51.          var1.drawLine(0, var6 - 1, var5 - 1, var6 - 1);
  52.          var1.drawLine(var5 - 1, var6 - 1, var5 - 1, 0);
  53.       }
  54.  
  55.       if (var6 >= 5 && var5 >= 5) {
  56.          if (var3) {
  57.             var1.translate(1, 1);
  58.          }
  59.  
  60.          int var7 = Math.min((var6 - 4) / 3, (var5 - 4) / 3);
  61.          var7 = Math.max(var7, 2);
  62.          this.paintTriangle(var1, (var5 - var7) / 2, (var6 - var7) / 2, var7, this.direction, var4);
  63.          if (var3) {
  64.             var1.translate(-1, -1);
  65.          }
  66.  
  67.          var1.setColor(var2);
  68.       } else {
  69.          var1.setColor(var2);
  70.       }
  71.    }
  72.  
  73.    public Dimension getPreferredSize() {
  74.       return new Dimension(16, 16);
  75.    }
  76.  
  77.    public Dimension getMinimumSize() {
  78.       return new Dimension(5, 5);
  79.    }
  80.  
  81.    public Dimension getMaximumSize() {
  82.       return new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE);
  83.    }
  84.  
  85.    public boolean isFocusTraversable() {
  86.       return false;
  87.    }
  88.  
  89.    public void paintTriangle(Graphics var1, int var2, int var3, int var4, int var5, boolean var6) {
  90.       Color var7 = var1.getColor();
  91.       int var10 = 0;
  92.       var4 = Math.max(var4, 2);
  93.       int var8 = var4 / 2;
  94.       var1.translate(var2, var3);
  95.       if (var6) {
  96.          var1.setColor(UIManager.getColor("controlDkShadow"));
  97.       } else {
  98.          var1.setColor(UIManager.getColor("controlShadow"));
  99.       }
  100.  
  101.       switch (var5) {
  102.          case 1:
  103.             int var16;
  104.             for(var16 = 0; var16 < var4; ++var16) {
  105.                var1.drawLine(var8 - var16, var16, var8 + var16, var16);
  106.             }
  107.  
  108.             if (!var6) {
  109.                var1.setColor(UIManager.getColor("controlLtHighlight"));
  110.                var1.drawLine(var8 - var16 + 2, var16, var8 + var16, var16);
  111.             }
  112.          case 2:
  113.          case 4:
  114.          case 6:
  115.          default:
  116.             break;
  117.          case 3:
  118.             if (!var6) {
  119.                var1.translate(1, 1);
  120.                var1.setColor(UIManager.getColor("controlLtHighlight"));
  121.  
  122.                for(int var14 = var4 - 1; var14 >= 0; --var14) {
  123.                   var1.drawLine(var10, var8 - var14, var10, var8 + var14);
  124.                   ++var10;
  125.                }
  126.  
  127.                var1.translate(-1, -1);
  128.                var1.setColor(UIManager.getColor("controlShadow"));
  129.             }
  130.  
  131.             var10 = 0;
  132.  
  133.             for(int var15 = var4 - 1; var15 >= 0; --var15) {
  134.                var1.drawLine(var10, var8 - var15, var10, var8 + var15);
  135.                ++var10;
  136.             }
  137.             break;
  138.          case 5:
  139.             if (!var6) {
  140.                var1.translate(1, 1);
  141.                var1.setColor(UIManager.getColor("controlLtHighlight"));
  142.  
  143.                for(int var12 = var4 - 1; var12 >= 0; --var12) {
  144.                   var1.drawLine(var8 - var12, var10, var8 + var12, var10);
  145.                   ++var10;
  146.                }
  147.  
  148.                var1.translate(-1, -1);
  149.                var1.setColor(UIManager.getColor("controlShadow"));
  150.             }
  151.  
  152.             var10 = 0;
  153.  
  154.             for(int var13 = var4 - 1; var13 >= 0; --var13) {
  155.                var1.drawLine(var8 - var13, var10, var8 + var13, var10);
  156.                ++var10;
  157.             }
  158.             break;
  159.          case 7:
  160.             int var9;
  161.             for(var9 = 0; var9 < var4; ++var9) {
  162.                var1.drawLine(var9, var8 - var9, var9, var8 + var9);
  163.             }
  164.  
  165.             if (!var6) {
  166.                var1.setColor(UIManager.getColor("controlLtHighlight"));
  167.                var1.drawLine(var9, var8 - var9 + 2, var9, var8 + var9);
  168.             }
  169.       }
  170.  
  171.       var1.translate(-var2, -var3);
  172.       var1.setColor(var7);
  173.    }
  174. }
  175.