- 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 forJSlider
.- Since:
- 1.7
-
-
Nested Class Summary
-
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
-
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
-
Fields inherited from 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 aSynthSliderUI
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
calculateGeometry()
Calculates the geometry.protected void
calculateThumbLocation()
Calculates the thumb location.protected BasicSliderUI.TrackListener
createTrackListener(JSlider s)
Creates a track listener.static ComponentUI
createUI(JComponent c)
Creates a new UI object for the given component.int
getBaseline(JComponent c, int width, int height)
Returns the baseline.SynthContext
getContext(JComponent c)
Returns the Context for the specified component.Dimension
getMinimumSize(JComponent c)
Returns the minimum size.Dimension
getPreferredSize(JComponent c)
Returns the preferred size.protected Dimension
getThumbSize()
Returns the thumb size.protected void
installDefaults(JSlider slider)
Installs the defaults.protected void
installListeners(JSlider slider)
Installs listeners.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
recalculateIfInsetsChanged()
Recalculates if the insets have changed.void
setThumbLocation(int x, int y)
Sets the thumb location.protected void
uninstallDefaults(JSlider slider)
Uninstalls default setting.protected void
uninstallListeners(JSlider slider)
Uninstalls listeners.void
update(Graphics g, JComponent c)
Notifies this UI delegate to repaint the specified component.int
valueForXPosition(int xPos)
Returns the value at the x position.int
valueForYPosition(int yPos)
Returns the value at the y position.protected int
xPositionForValue(int value)
Returns the x position for a value.protected int
yPositionForValue(int value, int trackY, int trackHeight)
Returns the y location for the specified value.-
Methods inherited from class javax.swing.plaf.basic.BasicSliderUI
calculateContentRect, calculateFocusRect, calculateLabelRect, calculateThumbSize, calculateTickRect, calculateTrackBuffer, calculateTrackRect, createChangeListener, createComponentListener, createFocusListener, createPropertyChangeListener, createScrollListener, drawInverted, getBaselineResizeBehavior, getFocusColor, getHeightOfHighValueLabel, getHeightOfLowValueLabel, getHeightOfTallestLabel, getHighestValue, getHighestValueLabel, getHighlightColor, getLowestValue, getLowestValueLabel, getMaximumSize, getMinimumHorizontalSize, getMinimumVerticalSize, getPreferredHorizontalSize, getPreferredVerticalSize, getShadowColor, getTickLength, getWidthOfHighValueLabel, getWidthOfLowValueLabel, getWidthOfWidestLabel, installKeyboardActions, installUI, isDragging, labelsHaveSameBaselines, paintFocus, paintHorizontalLabel, paintLabels, paintMajorTickForHorizSlider, paintMajorTickForVertSlider, paintMinorTickForHorizSlider, paintMinorTickForVertSlider, paintThumb, paintTicks, paintTrack, paintVerticalLabel, recalculateIfOrientationChanged, scrollByBlock, scrollByUnit, scrollDueToClickInTrack, uninstallKeyboardActions, uninstallUI, yPositionForValue
-
Methods inherited from class javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount
-
-
-
-
Constructor Detail
-
SynthSliderUI
protected SynthSliderUI(JSlider c)
Constructs aSynthSliderUI
.- Parameters:
c
- a slider
-
-
Method Detail
-
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
-
installDefaults
protected void installDefaults(JSlider slider)
Installs the defaults.- Overrides:
installDefaults
in classBasicSliderUI
- Parameters:
slider
- a slider
-
uninstallDefaults
protected void uninstallDefaults(JSlider slider)
Uninstalls default setting. This method is called when aLookAndFeel
is uninstalled.- Overrides:
uninstallDefaults
in classBasicSliderUI
- Parameters:
slider
- a slider
-
installListeners
protected void installListeners(JSlider slider)
Installs listeners.- Overrides:
installListeners
in classBasicSliderUI
- Parameters:
slider
- a slider
-
uninstallListeners
protected void uninstallListeners(JSlider slider)
Uninstalls listeners.- Overrides:
uninstallListeners
in classBasicSliderUI
- Parameters:
slider
- a slider
-
createTrackListener
protected BasicSliderUI.TrackListener createTrackListener(JSlider s)
Creates a track listener.- Overrides:
createTrackListener
in classBasicSliderUI
- Parameters:
s
- a slider- Returns:
- a track listener
-
getBaseline
public int getBaseline(JComponent c, int width, int height)
Returns the baseline.- Overrides:
getBaseline
in classBasicSliderUI
- Parameters:
c
-JComponent
baseline is being requested forwidth
- the width to get the baseline forheight
- the height to get the baseline for- Returns:
- baseline or a value < 0 indicating there is no reasonable baseline
- See Also:
JComponent.getBaseline(int, int)
-
getPreferredSize
public Dimension getPreferredSize(JComponent c)
Returns the preferred size.- Overrides:
getPreferredSize
in classBasicSliderUI
- Parameters:
c
- a component- Returns:
- the preferred size
- See Also:
JComponent.getPreferredSize()
,LayoutManager.preferredLayoutSize(java.awt.Container)
-
getMinimumSize
public Dimension getMinimumSize(JComponent c)
Returns the minimum size.- Overrides:
getMinimumSize
in classBasicSliderUI
- Parameters:
c
- a component- Returns:
- the minimum size
- See Also:
JComponent.getMinimumSize()
,LayoutManager.minimumLayoutSize(java.awt.Container)
,ComponentUI.getPreferredSize(javax.swing.JComponent)
-
calculateGeometry
protected void calculateGeometry()
Calculates the geometry.- Overrides:
calculateGeometry
in classBasicSliderUI
-
layout
protected void layout()
Lays out the slider.
-
calculateThumbLocation
protected void calculateThumbLocation()
Calculates the thumb location.- Overrides:
calculateThumbLocation
in classBasicSliderUI
-
setThumbLocation
public void setThumbLocation(int x, int y)
Sets the thumb location.- Overrides:
setThumbLocation
in classBasicSliderUI
- Parameters:
x
- the x coordinatey
- the y coordinate
-
xPositionForValue
protected int xPositionForValue(int value)
Returns the x position for a value.- Overrides:
xPositionForValue
in classBasicSliderUI
- Parameters:
value
- the value- Returns:
- the x position for a value
-
yPositionForValue
protected int yPositionForValue(int value, int trackY, int trackHeight)
Returns the y location for the specified value. No checking is done on the arguments. In particular iftrackHeight
is negative undefined results may occur.- Overrides:
yPositionForValue
in classBasicSliderUI
- Parameters:
value
- the slider value to get the location fortrackY
- y-origin of the tracktrackHeight
- the height of the track- Returns:
- the y location for the specified value of the slider
-
valueForYPosition
public int valueForYPosition(int yPos)
Returns the value at the y position. IfyPos
is beyond the track at the bottom or the top, this method sets the value to either the minimum or maximum value of the slider, depending on if the slider is inverted or not.- Overrides:
valueForYPosition
in classBasicSliderUI
- Parameters:
yPos
- the location of the slider along the y axis- Returns:
- the value at the y position
-
valueForXPosition
public int valueForXPosition(int xPos)
Returns the value at the x position. IfxPos
is beyond the track at the left or the right, this method sets the value to either the minimum or maximum value of the slider, depending on if the slider is inverted or not.- Overrides:
valueForXPosition
in classBasicSliderUI
- Parameters:
xPos
- the location of the slider along the x axis- Returns:
- the value of the x position
-
getThumbSize
protected Dimension getThumbSize()
Returns the thumb size.- Overrides:
getThumbSize
in classBasicSliderUI
- Returns:
- the thumb size
-
recalculateIfInsetsChanged
protected void recalculateIfInsetsChanged()
Recalculates if the insets have changed.- Overrides:
recalculateIfInsetsChanged
in classBasicSliderUI
-
getContext
public SynthContext getContext(JComponent c)
Returns the Context for the specified component.- Specified by:
getContext
in interfaceSynthUI
- 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 thepaint(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 classComponentUI
- Parameters:
g
- theGraphics
object used for paintingc
- 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 classBasicSliderUI
- Parameters:
g
- theGraphics
object used for paintingc
- 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 paintedg
- theGraphics
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 interfaceSynthUI
- Parameters:
context
- a component contextg
-Graphics
to paint onx
- the X coordinatey
- the Y coordinatew
- width of the borderh
- 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 paintedg
-Graphics
object used for paintingthumbBounds
- 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 paintedg
-Graphics
object used for paintingtrackBounds
- 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 interfacePropertyChangeListener
- Parameters:
e
- A PropertyChangeEvent object describing the event source and the property that has changed.
-
-