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 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 and Description protected
SynthSliderUI(JSlider c)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description protected void
calculateGeometry()
protected void
calculateThumbLocation()
protected BasicSliderUI.TrackListener
createTrackListener(JSlider s)
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 specified component's minimum size appropriate for the look and feel.Dimension
getPreferredSize(JComponent c)
Returns the specified component's preferred size appropriate for the look and feel.protected Dimension
getThumbSize()
protected void
installDefaults(JSlider slider)
protected void
installListeners(JSlider slider)
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()
void
setThumbLocation(int x, int y)
protected void
uninstallDefaults(JSlider slider)
Uninstalls default setting.protected void
uninstallListeners(JSlider slider)
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)
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)
-
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)
- Overrides:
-
installDefaults
in classBasicSliderUI
uninstallDefaults
protected void uninstallDefaults(JSlider slider)
Uninstalls default setting. This method is called when aLookAndFeel
is uninstalled.- Overrides:
-
uninstallDefaults
in classBasicSliderUI
installListeners
protected void installListeners(JSlider slider)
- Overrides:
-
installListeners
in classBasicSliderUI
uninstallListeners
protected void uninstallListeners(JSlider slider)
- Overrides:
-
uninstallListeners
in classBasicSliderUI
createTrackListener
protected BasicSliderUI.TrackListener createTrackListener(JSlider s)
- Overrides:
-
createTrackListener
in classBasicSliderUI
getBaseline
public int getBaseline(JComponent c, int width, int height)
Returns the baseline.- Overrides:
-
getBaseline
in classBasicSliderUI
- Parameters:
-
c
-JComponent
baseline is being requested for -
width
- the width to get the baseline for -
height
- 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 specified component's preferred size appropriate for the look and feel. Ifnull
is returned, the preferred size will be calculated by the component's layout manager instead (this is the preferred approach for any component with a specific layout manager installed). The default implementation of this method returnsnull
.- Overrides:
-
getPreferredSize
in classBasicSliderUI
- Parameters:
-
c
- the component whose preferred size is being queried; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components - See Also:
-
JComponent.getPreferredSize()
,LayoutManager.preferredLayoutSize(java.awt.Container)
getMinimumSize
public Dimension getMinimumSize(JComponent c)
Returns the specified component's minimum size appropriate for the look and feel. Ifnull
is returned, the minimum size will be calculated by the component's layout manager instead (this is the preferred approach for any component with a specific layout manager installed). The default implementation of this method invokesgetPreferredSize
and returns that value.- Overrides:
-
getMinimumSize
in classBasicSliderUI
- Parameters:
-
c
- the component whose minimum size is being queried; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components - Returns:
-
a
Dimension
object ornull
- See Also:
-
JComponent.getMinimumSize()
,LayoutManager.minimumLayoutSize(java.awt.Container)
,ComponentUI.getPreferredSize(javax.swing.JComponent)
calculateGeometry
protected void calculateGeometry()
- Overrides:
-
calculateGeometry
in classBasicSliderUI
layout
protected void layout()
Lays out the slider.
calculateThumbLocation
protected void calculateThumbLocation()
- Overrides:
-
calculateThumbLocation
in classBasicSliderUI
setThumbLocation
public void setThumbLocation(int x, int y)
- Overrides:
-
setThumbLocation
in classBasicSliderUI
xPositionForValue
protected int xPositionForValue(int value)
- Overrides:
-
xPositionForValue
in classBasicSliderUI
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 for -
trackY
- y-origin of the track -
trackHeight
- the height of the track
valueForYPosition
public int valueForYPosition(int yPos)
Returns the value at the y position. IfyPos
is beyond the track at the 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
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
getThumbSize
protected Dimension getThumbSize()
- Overrides:
-
getThumbSize
in classBasicSliderUI
recalculateIfInsetsChanged
protected void recalculateIfInsetsChanged()
- 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 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 classBasicSliderUI
- Parameters:
-
g
- theGraphics
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
- 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 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 interfacePropertyChangeListener
- Parameters:
-
e
- A PropertyChangeEvent object describing the event source and the property that has changed.
-
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.