Module java.desktop
Package javax.swing.plaf.synth

# Class SynthSliderUI

java.lang.Object
javax.swing.plaf.ComponentUI
javax.swing.plaf.SliderUI
javax.swing.plaf.basic.BasicSliderUI
javax.swing.plaf.synth.SynthSliderUI

All Implemented Interfaces:
  `PropertyChangeListener`, `EventListener`, `SynthConstants`, `SynthUI`

public class SynthSliderUI extends BasicSliderUI implements PropertyChangeListener, SynthUI
Provides the Synth L&F UI delegate for `JSlider`.

Since:
  1.7

## Nested Class Summary

## Nested classes/interfaces declared in class javax.swing.plaf.basic.BasicSliderUI

`BasicSliderUI.ActionScroller, BasicSliderUI.ChangeHandler, BasicSliderUI.ComponentHandler, BasicSliderUI.FocusHandler, BasicSliderUI.PropertyChangeHandler, BasicSliderUI.ScrollListener, BasicSliderUI.TrackListener`

## Field Summary

### Fields declared in 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`

### Fields declared in interface javax.swing.plaf.synth.SynthConstants

`DEFAULT, DISABLED, ENABLED, FOCUSED, MOUSE_OVER, PRESSED, SELECTED`

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`SynthSliderUI​(JSlider c)`
Constructs a `SynthSliderUI`.

## Method Summary

Modifier and Type
Method
Description
`static ComponentUI`
`createUI​(JComponent c)`
Creates a new UI object for the given component.
`SynthContext`
`getContext​(JComponent c)`
Returns the Context for the specified component.
`protected void`
`layout()`
Lays out the slider.
`void`
`paint​(Graphics g, JComponent c)`
Paints the specified component according to the Look and Feel.
`protected void`
`paint​(SynthContext context, Graphics g)`
Paints the specified component.
`void`
`paintBorder​(SynthContext context, Graphics g, int x, int y, int w, int h)`
Paints the border.
`protected void`
`paintThumb​(SynthContext context, Graphics g, Rectangle thumbBounds)`
Paints the slider thumb.
`protected void`
`paintTrack​(SynthContext context, Graphics g, Rectangle trackBounds)`
Paints the slider track.
`void`
`propertyChange​(PropertyChangeEvent e)`
This method gets called when a bound property is changed.
`protected void`
`uninstallDefaults​(JSlider slider)`
Uninstalls default setting.
`void`
`update​(Graphics g, JComponent c)`
Notifies this UI delegate to repaint the specified component.

### Methods declared in class javax.swing.plaf.basic.BasicSliderUI

`calculateContentRect, calculateFocusRect, calculateGeometry, calculateLabelRect, calculateThumbLocation, calculateThumbSize, calculateTickRect, calculateTrackBuffer, calculateTrackRect, createChangeListener, createComponentListener, createFocusListener, createPropertyChangeListener, createScrollListener, createTrackListener, drawInverted, getBaseline, getBaselineResizeBehavior, getFocusColor, getHeightOfHighValueLabel, getHeightOfLowValueLabel, getHeightOfTallestLabel, getHighestValue, getHighestValueLabel, getHighlightColor, getLowestValue, getLowestValueLabel, getMaximumSize, getMinimumHorizontalSize, getMinimumSize, getMinimumVerticalSize, getPreferredHorizontalSize, getPreferredSize, getPreferredVerticalSize, getShadowColor, getThumbSize, getTickLength, getWidthOfHighValueLabel, getWidthOfLowValueLabel, getWidthOfWidestLabel, installDefaults, installKeyboardActions, installListeners, installUI, isDragging, labelsHaveSameBaselines, paintFocus, paintHorizontalLabel, paintLabels, paintMajorTickForHorizSlider, paintMajorTickForVertSlider, paintMinorTickForHorizSlider, paintMinorTickForVertSlider, paintThumb, paintTicks, paintTrack, paintVerticalLabel, recalculateIfInsetsChanged, recalculateIfOrientationChanged, scrollByBlock, scrollByUnit, scrollDueToClickInTrack, setThumbLocation, uninstallKeyboardActions, uninstallListeners, uninstallUI, valueForXPosition, valueForYPosition, xPositionForValue, yPositionForValue, yPositionForValue`

### Methods declared in class javax.swing.plaf.ComponentUI

`contains, getAccessibleChild, getAccessibleChildrenCount`

### Methods declared in class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### SynthSliderUI

protected SynthSliderUI​(JSlider c)
Constructs a `SynthSliderUI`.

Parameters:
  `c` - a slider

## Method Details

### createUI

public static ComponentUI createUI​(JComponent c)
Creates a new UI object for the given component.

Parameters:
  `c` - component to create UI object for
Returns:
  the UI object

### uninstallDefaults

protected void uninstallDefaults​(JSlider slider)
Uninstalls default setting. This method is called when a `LookAndFeel` is uninstalled.

Overrides:
  `uninstallDefaults` in class `BasicSliderUI`
Parameters:
  `slider` - a slider

### layout

protected void layout()
Lays out the slider.

### getContext

public SynthContext getContext​(JComponent c)
Returns the Context for the specified component.

Specified by:
  `getContext` in interface `SynthUI`
Parameters:
  `c` - Component requesting SynthContext.
Returns:
  SynthContext describing component.

### update

public void update​(Graphics g, JComponent c)
Notifies this UI delegate to repaint the specified component. This method paints the component background, then calls the `paint(SynthContext,Graphics)` method.

In general, this method does not need to be overridden by subclasses. All Look and Feel rendering code should reside in the `paint` method.

Overrides:
  `update` in class `ComponentUI`
Parameters:
  `g` - the `Graphics` object used for painting
  `c` - the component being painted
See Also:
  `paint(SynthContext,Graphics)`

### paint

public void paint​(Graphics g, JComponent c)
Paints the specified component according to the Look and Feel.

This method is not used by Synth Look and Feel. Painting is handled by the `paint(SynthContext,Graphics)` method.

Overrides:
  `paint` in class `ComponentUI`
Parameters:
  `g` - the `Graphics` object used for painting
  `c` - the component being painted
See Also:
  `paint(SynthContext,Graphics)`

### paint

protected void paint​(SynthContext context, Graphics g)
Paints the specified component.

Parameters:
  `context` - context for the component being painted
  `g` - the `Graphics` object used for painting
See Also:
  `update(Graphics,JComponent)`

### paintBorder

public void paintBorder​(SynthContext context, Graphics g, int x, int y, int w, int h)
Paints the border.

Specified by:
  `paintBorder` in interface `SynthUI`
Parameters:
  `context` - a component context
  `g` - `Graphics` to paint on
  `x` - the X coordinate
  `y` - the Y coordinate
  `w` - width of the border
  `h` - height of the border

### paintThumb

protected void paintThumb​(SynthContext context, Graphics g, Rectangle thumbBounds)
Paints the slider thumb.

Parameters:
  `context` - context for the component being painted
  `g` - `Graphics` object used for painting
  `thumbBounds` - bounding box for the thumb

### paintTrack

protected void paintTrack​(SynthContext context, Graphics g, Rectangle trackBounds)
Paints the slider track.

Parameters:
  `context` - context for the component being painted
  `g` - `Graphics` object used for painting
  `trackBounds` - bounding box for the track

### propertyChange

public void propertyChange​(PropertyChangeEvent e)
This method gets called when a bound property is changed.

Specified by:
  `propertyChange` in interface `PropertyChangeListener`
Parameters:
  `e` - A PropertyChangeEvent object describing the event source and the property that has changed.