JavaTM 2 Platform
Standard Ed. 5.0

Class MetalSliderUI

  extended by javax.swing.plaf.ComponentUI
      extended by javax.swing.plaf.SliderUI
          extended by javax.swing.plaf.basic.BasicSliderUI
              extended by javax.swing.plaf.metal.MetalSliderUI

public class MetalSliderUI
extends BasicSliderUI

A Java L&F implementation of SliderUI.

Warning: 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. As of 1.4, support for long term storage of all JavaBeansTM has been added to the java.beans package. Please see XMLEncoder.

Nested Class Summary
protected  class MetalSliderUI.MetalPropertyListener
Nested classes/interfaces inherited from class javax.swing.plaf.basic.BasicSliderUI
BasicSliderUI.ActionScroller, BasicSliderUI.ChangeHandler, BasicSliderUI.ComponentHandler, BasicSliderUI.FocusHandler, BasicSliderUI.PropertyChangeHandler, BasicSliderUI.ScrollListener, BasicSliderUI.TrackListener
Field Summary
protected static Color darkShadowColor
protected  boolean filledSlider
protected static Color highlightColor
protected static Icon horizThumbIcon
protected  String SLIDER_FILL
protected static Color thumbColor
protected  int TICK_BUFFER
protected static int tickLength
protected static int trackWidth
protected static Icon vertThumbIcon
Fields inherited from class javax.swing.plaf.basic.BasicSliderUI
changeListener, componentListener, contentRect, focusInsets, focusListener, focusRect, insetCache, labelRect, leftToRightCache, MAX_SCROLL, MIN_SCROLL, NEGATIVE_SCROLL, POSITIVE_SCROLL, propertyChangeListener, scrollListener, scrollTimer, slider, thumbRect, tickRect, trackBuffer, trackListener, trackRect
Constructor Summary
Method Summary
protected  PropertyChangeListener createPropertyChangeListener(JSlider slider)
static ComponentUI createUI(JComponent c)
protected  int getThumbOverhang()
          Returns the amount that the thumb goes past the slide bar.
protected  Dimension getThumbSize()
 int getTickLength()
          Gets the height of the tick area for horizontal sliders and the width of the tick area for vertical sliders.
protected  int getTrackLength()
          Returns the longer dimension of the slide bar.
protected  int getTrackWidth()
          Returns the shorter dimension of the track.
 void installUI(JComponent c)
          Configures the specified component appropriate for the look and feel.
 void paintFocus(Graphics g)
protected  void paintMajorTickForHorizSlider(Graphics g, Rectangle tickBounds, int x)
protected  void paintMajorTickForVertSlider(Graphics g, Rectangle tickBounds, int y)
protected  void paintMinorTickForHorizSlider(Graphics g, Rectangle tickBounds, int x)
protected  void paintMinorTickForVertSlider(Graphics g, Rectangle tickBounds, int y)
 void paintThumb(Graphics g)
 void paintTrack(Graphics g)
protected  void scrollDueToClickInTrack(int dir)
          This function is called when a mousePressed was detected in the track, not in the thumb.
Methods inherited from class javax.swing.plaf.basic.BasicSliderUI
calculateContentRect, calculateFocusRect, calculateGeometry, calculateLabelRect, calculateThumbLocation, calculateThumbSize, calculateTickRect, calculateTrackBuffer, calculateTrackRect, createChangeListener, createComponentListener, createFocusListener, createScrollListener, createTrackListener, drawInverted, getFocusColor, getHeightOfHighValueLabel, getHeightOfLowValueLabel, getHeightOfTallestLabel, getHighestValueLabel, getHighlightColor, getLowestValueLabel, getMaximumSize, getMinimumHorizontalSize, getMinimumSize, getMinimumVerticalSize, getPreferredHorizontalSize, getPreferredSize, getPreferredVerticalSize, getShadowColor, getWidthOfHighValueLabel, getWidthOfLowValueLabel, getWidthOfWidestLabel, installDefaults, installKeyboardActions, installListeners, isDragging, paint, paintHorizontalLabel, paintLabels, paintTicks, paintVerticalLabel, recalculateIfInsetsChanged, recalculateIfOrientationChanged, scrollByBlock, scrollByUnit, setThumbLocation, uninstallKeyboardActions, uninstallListeners, uninstallUI, valueForXPosition, valueForYPosition, xPositionForValue, yPositionForValue
Methods inherited from class javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, update
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail


protected final int TICK_BUFFER
See Also:
Constant Field Values


protected boolean filledSlider


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
See Also:
Constant Field Values
Constructor Detail


public MetalSliderUI()
Method Detail


public static ComponentUI createUI(JComponent c)


public void installUI(JComponent c)
Description copied from class: ComponentUI
Configures the specified component appropriate for the look and feel. This method is invoked when the ComponentUI instance is being installed as the UI delegate on the specified component. This method should completely configure the component for the look and feel, including the following:
  1. Install any default property values for color, fonts, borders, icons, opacity, etc. on the component. Whenever possible, property values initialized by the client program should not be overridden.
  2. Install a LayoutManager on the component if necessary.
  3. Create/add any required sub-components to the component.
  4. Create/install event listeners on the component.
  5. Create/install a PropertyChangeListener on the component in order to detect and respond to component property changes appropriately.
  6. Install keyboard UI (mnemonics, traversal, etc.) on the component.
  7. Initialize any appropriate instance data.

installUI in class BasicSliderUI
c - the component where this UI delegate is being installed
See Also:
ComponentUI.uninstallUI(javax.swing.JComponent), JComponent.setUI(javax.swing.plaf.ComponentUI), JComponent.updateUI()


protected PropertyChangeListener createPropertyChangeListener(JSlider slider)
createPropertyChangeListener in class BasicSliderUI


public void paintThumb(Graphics g)
paintThumb in class BasicSliderUI


public void paintTrack(Graphics g)
paintTrack in class BasicSliderUI


public void paintFocus(Graphics g)
paintFocus in class BasicSliderUI


protected Dimension getThumbSize()
getThumbSize in class BasicSliderUI


public int getTickLength()
Gets the height of the tick area for horizontal sliders and the width of the tick area for vertical sliders. BasicSliderUI uses the returned value to determine the tick area rectangle.

getTickLength in class BasicSliderUI


protected int getTrackWidth()
Returns the shorter dimension of the track.


protected int getTrackLength()
Returns the longer dimension of the slide bar. (The slide bar is only the part that runs directly under the thumb)


protected int getThumbOverhang()
Returns the amount that the thumb goes past the slide bar.


protected void scrollDueToClickInTrack(int dir)
Description copied from class: BasicSliderUI
This function is called when a mousePressed was detected in the track, not in the thumb. The default behavior is to scroll by block. You can override this method to stop it from scrolling or to add additional behavior.

scrollDueToClickInTrack in class BasicSliderUI


protected void paintMinorTickForHorizSlider(Graphics g,
                                            Rectangle tickBounds,
                                            int x)
paintMinorTickForHorizSlider in class BasicSliderUI


protected void paintMajorTickForHorizSlider(Graphics g,
                                            Rectangle tickBounds,
                                            int x)
paintMajorTickForHorizSlider in class BasicSliderUI


protected void paintMinorTickForVertSlider(Graphics g,
                                           Rectangle tickBounds,
                                           int y)
paintMinorTickForVertSlider in class BasicSliderUI


protected void paintMajorTickForVertSlider(Graphics g,
                                           Rectangle tickBounds,
                                           int y)
paintMajorTickForVertSlider in class BasicSliderUI

JavaTM 2 Platform
Standard Ed. 5.0

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.