BasicSliderUI (Java 2 Platform SE 5.0) (original) (raw)
javax.swing.plaf.basic
Class BasicSliderUI
java.lang.Object
javax.swing.plaf.ComponentUI
javax.swing.plaf.SliderUI
javax.swing.plaf.basic.BasicSliderUI
Direct Known Subclasses:
public class BasicSliderUI
extends SliderUI
A Basic L&F implementation of SliderUI.
Nested Class Summary | |
---|---|
class | BasicSliderUI.ActionScroller As of Java 2 platform v1.3 this undocumented class is no longer used. |
class | BasicSliderUI.ChangeHandler Data model listener. |
class | BasicSliderUI.ComponentHandler Listener for resizing events. |
class | BasicSliderUI.FocusHandler Focus-change listener. |
class | BasicSliderUI.PropertyChangeHandler |
class | BasicSliderUI.ScrollListener Scroll-event listener. |
class | BasicSliderUI.TrackListener Track mouse movements. |
Field Summary | |
---|---|
protected ChangeListener | changeListener |
protected ComponentListener | componentListener |
protected Rectangle | contentRect |
protected Insets | focusInsets |
protected FocusListener | focusListener |
protected Rectangle | focusRect |
protected Insets | insetCache |
protected Rectangle | labelRect |
protected boolean | leftToRightCache |
static int | MAX_SCROLL |
static int | MIN_SCROLL |
static int | NEGATIVE_SCROLL |
static int | POSITIVE_SCROLL |
protected PropertyChangeListener | propertyChangeListener |
protected BasicSliderUI.ScrollListener | scrollListener |
protected Timer | scrollTimer |
protected JSlider | slider |
protected Rectangle | thumbRect |
protected Rectangle | tickRect |
protected int | trackBuffer |
protected BasicSliderUI.TrackListener | trackListener |
protected Rectangle | trackRect |
Constructor Summary |
---|
BasicSliderUI(JSlider b) |
Method Summary | |
---|---|
protected void | calculateContentRect() |
protected void | calculateFocusRect() |
protected void | calculateGeometry() |
protected void | calculateLabelRect() |
protected void | calculateThumbLocation() |
protected void | calculateThumbSize() |
protected void | calculateTickRect() |
protected void | calculateTrackBuffer() |
protected void | calculateTrackRect() |
protected ChangeListener | createChangeListener(JSlider slider) |
protected ComponentListener | createComponentListener(JSlider slider) |
protected FocusListener | createFocusListener(JSlider slider) |
protected PropertyChangeListener | createPropertyChangeListener(JSlider slider) |
protected BasicSliderUI.ScrollListener | createScrollListener(JSlider slider) |
protected BasicSliderUI.TrackListener | createTrackListener(JSlider slider) |
static ComponentUI | createUI(JComponent b) |
protected boolean | drawInverted() |
protected Color | getFocusColor() |
protected int | getHeightOfHighValueLabel() |
protected int | getHeightOfLowValueLabel() |
protected int | getHeightOfTallestLabel() |
protected Component | getHighestValueLabel() Returns the label that corresponds to the lowest slider value in the label table. |
protected Color | getHighlightColor() |
protected Component | getLowestValueLabel() Returns the label that corresponds to the highest slider value in the label table. |
Dimension | getMaximumSize(JComponent c) Returns the specified component's maximum size appropriate for the look and feel. |
Dimension | getMinimumHorizontalSize() |
Dimension | getMinimumSize(JComponent c) Returns the specified component's minimum size appropriate for the look and feel. |
Dimension | getMinimumVerticalSize() |
Dimension | getPreferredHorizontalSize() |
Dimension | getPreferredSize(JComponent c) Returns the specified component's preferred size appropriate for the look and feel. |
Dimension | getPreferredVerticalSize() |
protected Color | getShadowColor() |
protected Dimension | getThumbSize() |
protected int | getTickLength() Gets the height of the tick area for horizontal sliders and the width of the tick area for vertical sliders. |
protected int | getWidthOfHighValueLabel() |
protected int | getWidthOfLowValueLabel() |
protected int | getWidthOfWidestLabel() |
protected void | installDefaults(JSlider slider) |
protected void | installKeyboardActions(JSlider slider) |
protected void | installListeners(JSlider slider) |
void | installUI(JComponent c) Configures the specified component appropriate for the look and feel. |
protected boolean | isDragging() Returns true if the user is dragging the slider. |
void | [paint](../../../../javax/swing/plaf/basic/BasicSliderUI.html#paint%28java.awt.Graphics, javax.swing.JComponent%29)(Graphics g,JComponent c) Paints the specified component appropriate for the look and feel. |
void | paintFocus(Graphics g) |
protected void | [paintHorizontalLabel](../../../../javax/swing/plaf/basic/BasicSliderUI.html#paintHorizontalLabel%28java.awt.Graphics, int, java.awt.Component%29)(Graphics g, int value,Component label) Called for every label in the label table. |
void | paintLabels(Graphics g) |
protected void | [paintMajorTickForHorizSlider](../../../../javax/swing/plaf/basic/BasicSliderUI.html#paintMajorTickForHorizSlider%28java.awt.Graphics, java.awt.Rectangle, int%29)(Graphics g,Rectangle tickBounds, int x) |
protected void | [paintMajorTickForVertSlider](../../../../javax/swing/plaf/basic/BasicSliderUI.html#paintMajorTickForVertSlider%28java.awt.Graphics, java.awt.Rectangle, int%29)(Graphics g,Rectangle tickBounds, int y) |
protected void | [paintMinorTickForHorizSlider](../../../../javax/swing/plaf/basic/BasicSliderUI.html#paintMinorTickForHorizSlider%28java.awt.Graphics, java.awt.Rectangle, int%29)(Graphics g,Rectangle tickBounds, int x) |
protected void | [paintMinorTickForVertSlider](../../../../javax/swing/plaf/basic/BasicSliderUI.html#paintMinorTickForVertSlider%28java.awt.Graphics, java.awt.Rectangle, int%29)(Graphics g,Rectangle tickBounds, int y) |
void | paintThumb(Graphics g) |
void | paintTicks(Graphics g) |
void | paintTrack(Graphics g) |
protected void | [paintVerticalLabel](../../../../javax/swing/plaf/basic/BasicSliderUI.html#paintVerticalLabel%28java.awt.Graphics, int, java.awt.Component%29)(Graphics g, int value,Component label) Called for every label in the label table. |
protected void | recalculateIfInsetsChanged() |
protected void | recalculateIfOrientationChanged() |
void | scrollByBlock(int direction) |
void | scrollByUnit(int direction) |
protected void | scrollDueToClickInTrack(int dir) This function is called when a mousePressed was detected in the track, not in the thumb. |
void | [setThumbLocation](../../../../javax/swing/plaf/basic/BasicSliderUI.html#setThumbLocation%28int, int%29)(int x, int y) |
protected void | uninstallKeyboardActions(JSlider slider) |
protected void | uninstallListeners(JSlider slider) |
void | uninstallUI(JComponent c) Reverses configuration which was done on the specified component duringinstallUI. |
int | valueForXPosition(int xPos) Returns a value give an x position. |
int | valueForYPosition(int yPos) Returns a value give a y position. |
protected int | xPositionForValue(int value) |
protected int | yPositionForValue(int value) |
Methods inherited from class javax.swing.plaf.ComponentUI |
---|
[contains](../../../../javax/swing/plaf/ComponentUI.html#contains%28javax.swing.JComponent, int, int%29), [getAccessibleChild](../../../../javax/swing/plaf/ComponentUI.html#getAccessibleChild%28javax.swing.JComponent, int%29), getAccessibleChildrenCount, [update](../../../../javax/swing/plaf/ComponentUI.html#update%28java.awt.Graphics, javax.swing.JComponent%29) |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, [wait](../../../../java/lang/Object.html#wait%28long, int%29) |
Field Detail |
---|
POSITIVE_SCROLL
public static final int POSITIVE_SCROLL
See Also:
NEGATIVE_SCROLL
public static final int NEGATIVE_SCROLL
See Also:
MIN_SCROLL
public static final int MIN_SCROLL
See Also:
MAX_SCROLL
public static final int MAX_SCROLL
See Also:
scrollTimer
protected Timer scrollTimer
slider
protected JSlider slider
focusInsets
protected Insets focusInsets
insetCache
protected Insets insetCache
leftToRightCache
protected boolean leftToRightCache
focusRect
protected Rectangle focusRect
contentRect
protected Rectangle contentRect
labelRect
protected Rectangle labelRect
tickRect
protected Rectangle tickRect
trackRect
protected Rectangle trackRect
thumbRect
protected Rectangle thumbRect
trackBuffer
protected int trackBuffer
trackListener
protected BasicSliderUI.TrackListener trackListener
changeListener
protected ChangeListener changeListener
componentListener
protected ComponentListener componentListener
focusListener
protected FocusListener focusListener
scrollListener
protected BasicSliderUI.ScrollListener scrollListener
propertyChangeListener
protected PropertyChangeListener propertyChangeListener
Constructor Detail |
---|
BasicSliderUI
public BasicSliderUI(JSlider b)
Method Detail |
---|
getShadowColor
protected Color getShadowColor()
getHighlightColor
protected Color getHighlightColor()
getFocusColor
protected Color getFocusColor()
isDragging
protected boolean isDragging()
Returns true if the user is dragging the slider.
Returns:
true if the user is dragging the slider
Since:
1.5
createUI
public static ComponentUI createUI(JComponent b)
installUI
public void installUI(JComponent c)
Description copied from class: [ComponentUI](../../../../javax/swing/plaf/ComponentUI.html#installUI%28javax.swing.JComponent%29)
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:
- 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.
- Install a
LayoutManager
on the component if necessary. - Create/add any required sub-components to the component.
- Create/install event listeners on the component.
- Create/install a
PropertyChangeListener
on the component in order to detect and respond to component property changes appropriately. - Install keyboard UI (mnemonics, traversal, etc.) on the component.
- Initialize any appropriate instance data.
Overrides:
[installUI](../../../../javax/swing/plaf/ComponentUI.html#installUI%28javax.swing.JComponent%29)
in class [ComponentUI](../../../../javax/swing/plaf/ComponentUI.html "class in javax.swing.plaf")
Parameters:
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()
uninstallUI
public void uninstallUI(JComponent c)
Description copied from class: [ComponentUI](../../../../javax/swing/plaf/ComponentUI.html#uninstallUI%28javax.swing.JComponent%29)
Reverses configuration which was done on the specified component duringinstallUI
. This method is invoked when this UIComponent
instance is being removed as the UI delegate for the specified component. This method should undo the configuration performed in installUI
, being careful to leave the JComponent
instance in a clean state (no extraneous listeners, look-and-feel-specific property objects, etc.). This should include the following:
- Remove any UI-set borders from the component.
- Remove any UI-set layout managers on the component.
- Remove any UI-added sub-components from the component.
- Remove any UI-added event/property listeners from the component.
- Remove any UI-installed keyboard UI from the component.
- Nullify any allocated instance data objects to allow for GC.
Overrides:
[uninstallUI](../../../../javax/swing/plaf/ComponentUI.html#uninstallUI%28javax.swing.JComponent%29)
in class [ComponentUI](../../../../javax/swing/plaf/ComponentUI.html "class in javax.swing.plaf")
Parameters:
c
- the component from which this UI delegate is being removed; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components
See Also:
ComponentUI.installUI(javax.swing.JComponent), JComponent.updateUI()
installDefaults
protected void installDefaults(JSlider slider)
createTrackListener
protected BasicSliderUI.TrackListener createTrackListener(JSlider slider)
createChangeListener
protected ChangeListener createChangeListener(JSlider slider)
createComponentListener
protected ComponentListener createComponentListener(JSlider slider)
createFocusListener
protected FocusListener createFocusListener(JSlider slider)
createScrollListener
protected BasicSliderUI.ScrollListener createScrollListener(JSlider slider)
createPropertyChangeListener
protected PropertyChangeListener createPropertyChangeListener(JSlider slider)
installListeners
protected void installListeners(JSlider slider)
uninstallListeners
protected void uninstallListeners(JSlider slider)
installKeyboardActions
protected void installKeyboardActions(JSlider slider)
uninstallKeyboardActions
protected void uninstallKeyboardActions(JSlider slider)
getPreferredHorizontalSize
public Dimension getPreferredHorizontalSize()
getPreferredVerticalSize
public Dimension getPreferredVerticalSize()
getMinimumHorizontalSize
public Dimension getMinimumHorizontalSize()
getMinimumVerticalSize
public Dimension getMinimumVerticalSize()
getPreferredSize
public Dimension getPreferredSize(JComponent c)
Description copied from class: [ComponentUI](../../../../javax/swing/plaf/ComponentUI.html#getPreferredSize%28javax.swing.JComponent%29)
Returns the specified component's preferred size appropriate for the look and feel. If null
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 returns null
.
Overrides:
[getPreferredSize](../../../../javax/swing/plaf/ComponentUI.html#getPreferredSize%28javax.swing.JComponent%29)
in class [ComponentUI](../../../../javax/swing/plaf/ComponentUI.html "class in javax.swing.plaf")
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)
Description copied from class: [ComponentUI](../../../../javax/swing/plaf/ComponentUI.html#getMinimumSize%28javax.swing.JComponent%29)
Returns the specified component's minimum size appropriate for the look and feel. If null
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 invokes getPreferredSize
and returns that value.
Overrides:
[getMinimumSize](../../../../javax/swing/plaf/ComponentUI.html#getMinimumSize%28javax.swing.JComponent%29)
in class [ComponentUI](../../../../javax/swing/plaf/ComponentUI.html "class in javax.swing.plaf")
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 or null
See Also:
JComponent.getMinimumSize(), LayoutManager.minimumLayoutSize(java.awt.Container), ComponentUI.getPreferredSize(javax.swing.JComponent)
getMaximumSize
public Dimension getMaximumSize(JComponent c)
Description copied from class: [ComponentUI](../../../../javax/swing/plaf/ComponentUI.html#getMaximumSize%28javax.swing.JComponent%29)
Returns the specified component's maximum size appropriate for the look and feel. If null
is returned, the maximum 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 invokes getPreferredSize
and returns that value.
Overrides:
[getMaximumSize](../../../../javax/swing/plaf/ComponentUI.html#getMaximumSize%28javax.swing.JComponent%29)
in class [ComponentUI](../../../../javax/swing/plaf/ComponentUI.html "class in javax.swing.plaf")
Parameters:
c
- the component whose maximum 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 or null
See Also:
JComponent.getMaximumSize(), LayoutManager2.maximumLayoutSize(java.awt.Container)
calculateGeometry
protected void calculateGeometry()
calculateFocusRect
protected void calculateFocusRect()
calculateThumbSize
protected void calculateThumbSize()
calculateContentRect
protected void calculateContentRect()
calculateThumbLocation
protected void calculateThumbLocation()
calculateTrackBuffer
protected void calculateTrackBuffer()
calculateTrackRect
protected void calculateTrackRect()
getTickLength
protected 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. If you want to give your ticks some room, make this larger than you need and paint your ticks away from the sides in paintTicks().
calculateTickRect
protected void calculateTickRect()
calculateLabelRect
protected void calculateLabelRect()
getThumbSize
protected Dimension getThumbSize()
getWidthOfWidestLabel
protected int getWidthOfWidestLabel()
getHeightOfTallestLabel
protected int getHeightOfTallestLabel()
getWidthOfHighValueLabel
protected int getWidthOfHighValueLabel()
getWidthOfLowValueLabel
protected int getWidthOfLowValueLabel()
getHeightOfHighValueLabel
protected int getHeightOfHighValueLabel()
getHeightOfLowValueLabel
protected int getHeightOfLowValueLabel()
drawInverted
protected boolean drawInverted()
getLowestValueLabel
protected Component getLowestValueLabel()
Returns the label that corresponds to the highest slider value in the label table.
See Also:
JSlider.setLabelTable(java.util.Dictionary)
getHighestValueLabel
protected Component getHighestValueLabel()
Returns the label that corresponds to the lowest slider value in the label table.
See Also:
JSlider.setLabelTable(java.util.Dictionary)
paint
public void paint(Graphics g, JComponent c)
Description copied from class: [ComponentUI](../../../../javax/swing/plaf/ComponentUI.html#paint%28java.awt.Graphics, javax.swing.JComponent%29)
Paints the specified component appropriate for the look and feel. This method is invoked from the ComponentUI.update
method when the specified component is being painted. Subclasses should override this method and use the specified Graphics
object to render the content of the component.
Overrides:
[paint](../../../../javax/swing/plaf/ComponentUI.html#paint%28java.awt.Graphics, javax.swing.JComponent%29)
in class [ComponentUI](../../../../javax/swing/plaf/ComponentUI.html "class in javax.swing.plaf")
Parameters:
g
- the Graphics
context in which to paint
c
- the component being painted; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components
See Also:
[ComponentUI.update(java.awt.Graphics, javax.swing.JComponent)](../../../../javax/swing/plaf/ComponentUI.html#update%28java.awt.Graphics, javax.swing.JComponent%29)
recalculateIfInsetsChanged
protected void recalculateIfInsetsChanged()
recalculateIfOrientationChanged
protected void recalculateIfOrientationChanged()
paintFocus
public void paintFocus(Graphics g)
paintTrack
public void paintTrack(Graphics g)
paintTicks
public void paintTicks(Graphics g)
paintMinorTickForHorizSlider
protected void paintMinorTickForHorizSlider(Graphics g, Rectangle tickBounds, int x)
paintMajorTickForHorizSlider
protected void paintMajorTickForHorizSlider(Graphics g, Rectangle tickBounds, int x)
paintMinorTickForVertSlider
protected void paintMinorTickForVertSlider(Graphics g, Rectangle tickBounds, int y)
paintMajorTickForVertSlider
protected void paintMajorTickForVertSlider(Graphics g, Rectangle tickBounds, int y)
paintLabels
public void paintLabels(Graphics g)
paintHorizontalLabel
protected void paintHorizontalLabel(Graphics g, int value, Component label)
Called for every label in the label table. Used to draw the labels for horizontal sliders. The graphics have been translated to labelRect.y already.
See Also:
JSlider.setLabelTable(java.util.Dictionary)
paintVerticalLabel
protected void paintVerticalLabel(Graphics g, int value, Component label)
Called for every label in the label table. Used to draw the labels for vertical sliders. The graphics have been translated to labelRect.x already.
See Also:
JSlider.setLabelTable(java.util.Dictionary)
paintThumb
public void paintThumb(Graphics g)
setThumbLocation
public void setThumbLocation(int x, int y)
scrollByBlock
public void scrollByBlock(int direction)
scrollByUnit
public void scrollByUnit(int direction)
scrollDueToClickInTrack
protected void scrollDueToClickInTrack(int dir)
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.
xPositionForValue
protected int xPositionForValue(int value)
yPositionForValue
protected int yPositionForValue(int value)
valueForYPosition
public int valueForYPosition(int yPos)
Returns a value give a y position. If yPos is past the track at the top or the bottom it will set the value to the min or max of the slider, depending if the slider is inverted or not.
valueForXPosition
public int valueForXPosition(int xPos)
Returns a value give an x position. If xPos is past the track at the left or the right it will set the value to the min or max of the slider, depending if the slider is inverted or not.
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, 2010 Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.