- /*
- * @(#)WindowsSliderUI.java 1.13 03/01/23
- *
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
- */
-
- package com.sun.java.swing.plaf.windows;
-
- import java.awt.*;
-
- import javax.swing.plaf.*;
- import javax.swing.plaf.basic.*;
- import javax.swing.*;
-
-
-
- /**
- * Windows rendition of the component.
- * <p>
- * <strong>Warning:</strong>
- * Serialized objects of this class will not be compatible with
- * future Swing releases. The current serialization support is appropriate
- * for short term storage or RMI between applications running the same
- * version of Swing. A future release of Swing will provide support for
- * long term persistence.
- */
- public class WindowsSliderUI extends BasicSliderUI
- {
- public WindowsSliderUI(JSlider b){
- super(b);
- }
-
- public static ComponentUI createUI(JComponent b) {
- return new WindowsSliderUI((JSlider)b);
- }
-
-
- public void paintTrack(Graphics g) {
- XPStyle xp = XPStyle.getXP();
- if (xp != null) {
- boolean vertical = (slider.getOrientation() == JSlider.VERTICAL);
- String category = vertical ? "trackbar.trackvert" : "trackbar.track";
- XPStyle.Skin skin = xp.getSkin(category);
-
- if (vertical) {
- int x = (trackRect.width - skin.getWidth()) / 2;
- skin.paintSkin(g, trackRect.x + x, trackRect.y, skin.getWidth(), trackRect.height, 0);
- } else {
- int y = (trackRect.height - skin.getHeight()) / 2;
- skin.paintSkin(g, trackRect.x, trackRect.y + y, trackRect.width, skin.getHeight(), 0);
- }
- } else {
- super.paintTrack(g);
- }
- }
-
-
- protected void paintMinorTickForHorizSlider( Graphics g, Rectangle tickBounds, int x ) {
- XPStyle xp = XPStyle.getXP();
- if (xp != null) {
- g.setColor(xp.getColor("trackbar.tics.color", Color.black));
- }
- super.paintMinorTickForHorizSlider(g, tickBounds, x);
- }
-
- protected void paintMajorTickForHorizSlider( Graphics g, Rectangle tickBounds, int x ) {
- XPStyle xp = XPStyle.getXP();
- if (xp != null) {
- g.setColor(xp.getColor("trackbar.tics.color", Color.black));
- }
- super.paintMajorTickForHorizSlider(g, tickBounds, x);
- }
-
- protected void paintMinorTickForVertSlider( Graphics g, Rectangle tickBounds, int y ) {
- XPStyle xp = XPStyle.getXP();
- if (xp != null) {
- g.setColor(xp.getColor("trackbar.ticsvert.color", Color.black));
- }
- super.paintMinorTickForVertSlider(g, tickBounds, y);
- }
-
- protected void paintMajorTickForVertSlider( Graphics g, Rectangle tickBounds, int y ) {
- XPStyle xp = XPStyle.getXP();
- if (xp != null) {
- g.setColor(xp.getColor("trackbar.ticsvert.color", Color.black));
- }
- super.paintMajorTickForVertSlider(g, tickBounds, y);
- }
-
-
- public void paintThumb(Graphics g) {
- XPStyle xp = XPStyle.getXP();
- if (xp != null) {
- String category;
- boolean vertical = (slider.getOrientation() == JSlider.VERTICAL);
- boolean leftToRight = slider.getComponentOrientation().isLeftToRight();
- if (!slider.getPaintTicks()) {
- category = vertical ? "trackbar.thumbvert"
- : "trackbar.thumb";
- } else {
- category = vertical ? (leftToRight ? "trackbar.thumbright" : "trackbar.thumbleft")
- : "trackbar.thumbbottom";
- }
- // Pending: Implement all five states
- int index = 0;
- if (!slider.isEnabled()) {
- index = 4;
- }
- xp.getSkin(category).paintSkin(g, thumbRect.x, thumbRect.y, index);
- } else {
- super.paintThumb(g);
- }
- }
- }
-