home *** CD-ROM | disk | FTP | other *** search
- package javax.swing.plaf.metal;
-
- import java.awt.Color;
- import java.awt.Dimension;
- import java.awt.Graphics;
- import java.awt.Rectangle;
- import java.beans.PropertyChangeListener;
- import javax.swing.Icon;
- import javax.swing.JComponent;
- import javax.swing.JSlider;
- import javax.swing.UIManager;
- import javax.swing.plaf.ComponentUI;
- import javax.swing.plaf.basic.BasicSliderUI;
-
- public class MetalSliderUI extends BasicSliderUI {
- protected final int TICK_BUFFER = 4;
- protected boolean filledSlider = false;
- protected static Color thumbColor;
- protected static Color highlightColor;
- protected static Color darkShadowColor;
- protected static int trackWidth;
- protected static int tickLength;
- protected static Icon horizThumbIcon;
- protected static Icon vertThumbIcon;
- protected final String SLIDER_FILL = "JSlider.isFilled";
-
- public MetalSliderUI() {
- super((JSlider)null);
- }
-
- protected PropertyChangeListener createPropertyChangeListener(JSlider var1) {
- return new MetalPropertyListener(this);
- }
-
- public static ComponentUI createUI(JComponent var0) {
- return new MetalSliderUI();
- }
-
- protected int getThumbOverhang() {
- return 5;
- }
-
- protected Dimension getThumbSize() {
- Dimension var1 = new Dimension();
- if (super.slider.getOrientation() == 1) {
- var1.width = 16;
- var1.height = 15;
- } else {
- var1.width = 15;
- var1.height = 16;
- }
-
- return var1;
- }
-
- public int getTickLength() {
- return super.slider.getOrientation() == 0 ? tickLength + 4 + 1 : tickLength + 4 + 3;
- }
-
- protected int getTrackLength() {
- return super.slider.getOrientation() == 0 ? super.trackRect.width : super.trackRect.height;
- }
-
- protected int getTrackWidth() {
- double var1 = (double)7.0F;
- double var3 = (double)16.0F;
- double var5 = (double)0.4375F;
- return super.slider.getOrientation() == 0 ? (int)((double)0.4375F * (double)super.thumbRect.height) : (int)((double)0.4375F * (double)super.thumbRect.width);
- }
-
- public void installUI(JComponent var1) {
- trackWidth = (Integer)UIManager.get("Slider.trackWidth");
- tickLength = (Integer)UIManager.get("Slider.majorTickLength");
- horizThumbIcon = UIManager.getIcon("Slider.horizontalThumbIcon");
- vertThumbIcon = UIManager.getIcon("Slider.verticalThumbIcon");
- super.installUI(var1);
- thumbColor = UIManager.getColor("Slider.thumb");
- highlightColor = UIManager.getColor("Slider.highlight");
- darkShadowColor = UIManager.getColor("Slider.darkShadow");
- super.scrollListener.setScrollByBlock(false);
- Object var2 = var1.getClientProperty("JSlider.isFilled");
- if (var2 != null) {
- this.filledSlider = (Boolean)var2;
- }
-
- }
-
- public void paintFocus(Graphics var1) {
- }
-
- protected void paintMajorTickForHorizSlider(Graphics var1, Rectangle var2, int var3) {
- var1.setColor((Color)(super.slider.isEnabled() ? super.slider.getForeground() : MetalLookAndFeel.getControlShadow()));
- var1.drawLine(var3, 4, var3, 4 + (tickLength - 1));
- }
-
- protected void paintMajorTickForVertSlider(Graphics var1, Rectangle var2, int var3) {
- var1.setColor((Color)(super.slider.isEnabled() ? super.slider.getForeground() : MetalLookAndFeel.getControlShadow()));
- var1.drawLine(4, var3, 4 + tickLength, var3);
- }
-
- protected void paintMinorTickForHorizSlider(Graphics var1, Rectangle var2, int var3) {
- var1.setColor((Color)(super.slider.isEnabled() ? super.slider.getForeground() : MetalLookAndFeel.getControlShadow()));
- var1.drawLine(var3, 4, var3, 4 + tickLength / 2);
- }
-
- protected void paintMinorTickForVertSlider(Graphics var1, Rectangle var2, int var3) {
- var1.setColor((Color)(super.slider.isEnabled() ? super.slider.getForeground() : MetalLookAndFeel.getControlShadow()));
- var1.drawLine(4, var3, 4 + tickLength / 2, var3);
- }
-
- public void paintThumb(Graphics var1) {
- Rectangle var2 = super.thumbRect;
- var1.translate(var2.x, var2.y);
- if (super.slider.getOrientation() == 0) {
- horizThumbIcon.paintIcon(super.slider, var1, 0, 0);
- } else {
- vertThumbIcon.paintIcon(super.slider, var1, 0, 0);
- }
-
- var1.translate(-var2.x, -var2.y);
- }
-
- public void paintTrack(Graphics var1) {
- if (!super.slider.isEnabled()) {
- MetalLookAndFeel.getControlShadow();
- } else {
- super.slider.getForeground();
- }
-
- var1.translate(super.trackRect.x, super.trackRect.y);
- int var3 = 0;
- int var4 = 0;
- int var5 = 0;
- int var6 = 0;
- if (super.slider.getOrientation() == 0) {
- var6 = super.trackRect.height - 1 - this.getThumbOverhang();
- var4 = var6 - (this.getTrackWidth() - 1);
- var5 = super.trackRect.width - 1;
- } else {
- var3 = super.trackRect.width - this.getThumbOverhang() - this.getTrackWidth();
- var5 = super.trackRect.width - this.getThumbOverhang() - 1;
- var6 = super.trackRect.height - 1;
- }
-
- if (super.slider.isEnabled()) {
- var1.setColor(MetalLookAndFeel.getControlDarkShadow());
- var1.drawRect(var3, var4, var5 - var3 - 1, var6 - var4 - 1);
- var1.setColor(MetalLookAndFeel.getControlHighlight());
- var1.drawLine(var3 + 1, var6, var5, var6);
- var1.drawLine(var5, var4 + 1, var5, var6);
- var1.setColor(MetalLookAndFeel.getControlShadow());
- var1.drawLine(var3 + 1, var4 + 1, var5 - 2, var4 + 1);
- var1.drawLine(var3 + 1, var4 + 1, var3 + 1, var6 - 2);
- } else {
- var1.setColor(MetalLookAndFeel.getControlShadow());
- var1.drawRect(var3, var4, var5 - var3 - 1, var6 - var4 - 1);
- }
-
- if (this.filledSlider) {
- int var7 = 0;
- int var8 = 0;
- int var9 = 0;
- int var10 = 0;
- int var11 = 0;
- if (super.slider.getOrientation() == 0) {
- var7 = super.thumbRect.x + super.thumbRect.width / 2;
- var7 -= super.trackRect.x;
- var8 = !super.slider.isEnabled() ? var4 : var4 + 1;
- var10 = !super.slider.isEnabled() ? var6 - 1 : var6 - 2;
- if (!super.slider.getInverted()) {
- var9 = !super.slider.isEnabled() ? var3 : var3 + 1;
- var11 = var7;
- } else {
- var9 = var7;
- var11 = !super.slider.isEnabled() ? var5 - 1 : var5 - 2;
- }
- } else {
- var7 = super.thumbRect.y + super.thumbRect.height / 2;
- var7 -= super.trackRect.y;
- var9 = !super.slider.isEnabled() ? var3 : var3 + 1;
- var11 = !super.slider.isEnabled() ? var5 - 1 : var5 - 2;
- if (!super.slider.getInverted()) {
- var8 = var7;
- var10 = !super.slider.isEnabled() ? var6 - 1 : var6 - 2;
- } else {
- var8 = !super.slider.isEnabled() ? var4 : var4 + 1;
- var10 = var7;
- }
- }
-
- if (super.slider.isEnabled()) {
- var1.setColor(super.slider.getBackground());
- var1.drawLine(var9, var8, var11, var8);
- var1.drawLine(var9, var8, var9, var10);
- var1.setColor(MetalLookAndFeel.getControlShadow());
- var1.fillRect(var9 + 1, var8 + 1, var11 - var9, var10 - var8);
- } else {
- var1.setColor(MetalLookAndFeel.getControlShadow());
- var1.fillRect(var9, var8, var11 - var9, var6 - var4);
- }
- }
-
- var1.translate(-super.trackRect.x, -super.trackRect.y);
- }
-
- protected void scrollDueToClickInTrack(int var1) {
- ((BasicSliderUI)this).scrollByUnit(var1);
- }
- }
-