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

  1. package javax.swing.plaf.metal;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Dimension;
  5. import java.awt.Graphics;
  6. import java.awt.Rectangle;
  7. import java.beans.PropertyChangeListener;
  8. import javax.swing.Icon;
  9. import javax.swing.JComponent;
  10. import javax.swing.JSlider;
  11. import javax.swing.UIManager;
  12. import javax.swing.plaf.ComponentUI;
  13. import javax.swing.plaf.basic.BasicSliderUI;
  14.  
  15. public class MetalSliderUI extends BasicSliderUI {
  16.    protected final int TICK_BUFFER = 4;
  17.    protected boolean filledSlider = false;
  18.    protected static Color thumbColor;
  19.    protected static Color highlightColor;
  20.    protected static Color darkShadowColor;
  21.    protected static int trackWidth;
  22.    protected static int tickLength;
  23.    protected static Icon horizThumbIcon;
  24.    protected static Icon vertThumbIcon;
  25.    protected final String SLIDER_FILL = "JSlider.isFilled";
  26.  
  27.    public MetalSliderUI() {
  28.       super((JSlider)null);
  29.    }
  30.  
  31.    protected PropertyChangeListener createPropertyChangeListener(JSlider var1) {
  32.       return new MetalPropertyListener(this);
  33.    }
  34.  
  35.    public static ComponentUI createUI(JComponent var0) {
  36.       return new MetalSliderUI();
  37.    }
  38.  
  39.    protected int getThumbOverhang() {
  40.       return 5;
  41.    }
  42.  
  43.    protected Dimension getThumbSize() {
  44.       Dimension var1 = new Dimension();
  45.       if (super.slider.getOrientation() == 1) {
  46.          var1.width = 16;
  47.          var1.height = 15;
  48.       } else {
  49.          var1.width = 15;
  50.          var1.height = 16;
  51.       }
  52.  
  53.       return var1;
  54.    }
  55.  
  56.    public int getTickLength() {
  57.       return super.slider.getOrientation() == 0 ? tickLength + 4 + 1 : tickLength + 4 + 3;
  58.    }
  59.  
  60.    protected int getTrackLength() {
  61.       return super.slider.getOrientation() == 0 ? super.trackRect.width : super.trackRect.height;
  62.    }
  63.  
  64.    protected int getTrackWidth() {
  65.       double var1 = (double)7.0F;
  66.       double var3 = (double)16.0F;
  67.       double var5 = (double)0.4375F;
  68.       return super.slider.getOrientation() == 0 ? (int)((double)0.4375F * (double)super.thumbRect.height) : (int)((double)0.4375F * (double)super.thumbRect.width);
  69.    }
  70.  
  71.    public void installUI(JComponent var1) {
  72.       trackWidth = (Integer)UIManager.get("Slider.trackWidth");
  73.       tickLength = (Integer)UIManager.get("Slider.majorTickLength");
  74.       horizThumbIcon = UIManager.getIcon("Slider.horizontalThumbIcon");
  75.       vertThumbIcon = UIManager.getIcon("Slider.verticalThumbIcon");
  76.       super.installUI(var1);
  77.       thumbColor = UIManager.getColor("Slider.thumb");
  78.       highlightColor = UIManager.getColor("Slider.highlight");
  79.       darkShadowColor = UIManager.getColor("Slider.darkShadow");
  80.       super.scrollListener.setScrollByBlock(false);
  81.       Object var2 = var1.getClientProperty("JSlider.isFilled");
  82.       if (var2 != null) {
  83.          this.filledSlider = (Boolean)var2;
  84.       }
  85.  
  86.    }
  87.  
  88.    public void paintFocus(Graphics var1) {
  89.    }
  90.  
  91.    protected void paintMajorTickForHorizSlider(Graphics var1, Rectangle var2, int var3) {
  92.       var1.setColor((Color)(super.slider.isEnabled() ? super.slider.getForeground() : MetalLookAndFeel.getControlShadow()));
  93.       var1.drawLine(var3, 4, var3, 4 + (tickLength - 1));
  94.    }
  95.  
  96.    protected void paintMajorTickForVertSlider(Graphics var1, Rectangle var2, int var3) {
  97.       var1.setColor((Color)(super.slider.isEnabled() ? super.slider.getForeground() : MetalLookAndFeel.getControlShadow()));
  98.       var1.drawLine(4, var3, 4 + tickLength, var3);
  99.    }
  100.  
  101.    protected void paintMinorTickForHorizSlider(Graphics var1, Rectangle var2, int var3) {
  102.       var1.setColor((Color)(super.slider.isEnabled() ? super.slider.getForeground() : MetalLookAndFeel.getControlShadow()));
  103.       var1.drawLine(var3, 4, var3, 4 + tickLength / 2);
  104.    }
  105.  
  106.    protected void paintMinorTickForVertSlider(Graphics var1, Rectangle var2, int var3) {
  107.       var1.setColor((Color)(super.slider.isEnabled() ? super.slider.getForeground() : MetalLookAndFeel.getControlShadow()));
  108.       var1.drawLine(4, var3, 4 + tickLength / 2, var3);
  109.    }
  110.  
  111.    public void paintThumb(Graphics var1) {
  112.       Rectangle var2 = super.thumbRect;
  113.       var1.translate(var2.x, var2.y);
  114.       if (super.slider.getOrientation() == 0) {
  115.          horizThumbIcon.paintIcon(super.slider, var1, 0, 0);
  116.       } else {
  117.          vertThumbIcon.paintIcon(super.slider, var1, 0, 0);
  118.       }
  119.  
  120.       var1.translate(-var2.x, -var2.y);
  121.    }
  122.  
  123.    public void paintTrack(Graphics var1) {
  124.       if (!super.slider.isEnabled()) {
  125.          MetalLookAndFeel.getControlShadow();
  126.       } else {
  127.          super.slider.getForeground();
  128.       }
  129.  
  130.       var1.translate(super.trackRect.x, super.trackRect.y);
  131.       int var3 = 0;
  132.       int var4 = 0;
  133.       int var5 = 0;
  134.       int var6 = 0;
  135.       if (super.slider.getOrientation() == 0) {
  136.          var6 = super.trackRect.height - 1 - this.getThumbOverhang();
  137.          var4 = var6 - (this.getTrackWidth() - 1);
  138.          var5 = super.trackRect.width - 1;
  139.       } else {
  140.          var3 = super.trackRect.width - this.getThumbOverhang() - this.getTrackWidth();
  141.          var5 = super.trackRect.width - this.getThumbOverhang() - 1;
  142.          var6 = super.trackRect.height - 1;
  143.       }
  144.  
  145.       if (super.slider.isEnabled()) {
  146.          var1.setColor(MetalLookAndFeel.getControlDarkShadow());
  147.          var1.drawRect(var3, var4, var5 - var3 - 1, var6 - var4 - 1);
  148.          var1.setColor(MetalLookAndFeel.getControlHighlight());
  149.          var1.drawLine(var3 + 1, var6, var5, var6);
  150.          var1.drawLine(var5, var4 + 1, var5, var6);
  151.          var1.setColor(MetalLookAndFeel.getControlShadow());
  152.          var1.drawLine(var3 + 1, var4 + 1, var5 - 2, var4 + 1);
  153.          var1.drawLine(var3 + 1, var4 + 1, var3 + 1, var6 - 2);
  154.       } else {
  155.          var1.setColor(MetalLookAndFeel.getControlShadow());
  156.          var1.drawRect(var3, var4, var5 - var3 - 1, var6 - var4 - 1);
  157.       }
  158.  
  159.       if (this.filledSlider) {
  160.          int var7 = 0;
  161.          int var8 = 0;
  162.          int var9 = 0;
  163.          int var10 = 0;
  164.          int var11 = 0;
  165.          if (super.slider.getOrientation() == 0) {
  166.             var7 = super.thumbRect.x + super.thumbRect.width / 2;
  167.             var7 -= super.trackRect.x;
  168.             var8 = !super.slider.isEnabled() ? var4 : var4 + 1;
  169.             var10 = !super.slider.isEnabled() ? var6 - 1 : var6 - 2;
  170.             if (!super.slider.getInverted()) {
  171.                var9 = !super.slider.isEnabled() ? var3 : var3 + 1;
  172.                var11 = var7;
  173.             } else {
  174.                var9 = var7;
  175.                var11 = !super.slider.isEnabled() ? var5 - 1 : var5 - 2;
  176.             }
  177.          } else {
  178.             var7 = super.thumbRect.y + super.thumbRect.height / 2;
  179.             var7 -= super.trackRect.y;
  180.             var9 = !super.slider.isEnabled() ? var3 : var3 + 1;
  181.             var11 = !super.slider.isEnabled() ? var5 - 1 : var5 - 2;
  182.             if (!super.slider.getInverted()) {
  183.                var8 = var7;
  184.                var10 = !super.slider.isEnabled() ? var6 - 1 : var6 - 2;
  185.             } else {
  186.                var8 = !super.slider.isEnabled() ? var4 : var4 + 1;
  187.                var10 = var7;
  188.             }
  189.          }
  190.  
  191.          if (super.slider.isEnabled()) {
  192.             var1.setColor(super.slider.getBackground());
  193.             var1.drawLine(var9, var8, var11, var8);
  194.             var1.drawLine(var9, var8, var9, var10);
  195.             var1.setColor(MetalLookAndFeel.getControlShadow());
  196.             var1.fillRect(var9 + 1, var8 + 1, var11 - var9, var10 - var8);
  197.          } else {
  198.             var1.setColor(MetalLookAndFeel.getControlShadow());
  199.             var1.fillRect(var9, var8, var11 - var9, var6 - var4);
  200.          }
  201.       }
  202.  
  203.       var1.translate(-super.trackRect.x, -super.trackRect.y);
  204.    }
  205.  
  206.    protected void scrollDueToClickInTrack(int var1) {
  207.       ((BasicSliderUI)this).scrollByUnit(var1);
  208.    }
  209. }
  210.