ImageObserver
, MenuContainer
, Serializable
, Accessible
, SwingConstants
@JavaBean(defaultProperty="UI", description="A component that supports selecting a integer value from a range.") public class JSlider extends JComponent implements SwingConstants, Accessible
The slider can show both
major tick marks, and minor tick marks between the major ones. The number of
values between the tick marks is controlled with
setMajorTickSpacing
and setMinorTickSpacing
.
Painting of tick marks is controlled by setPaintTicks
.
Sliders can also print text labels at regular intervals (or at
arbitrary locations) along the slider track. Painting of labels is
controlled by setLabelTable
and setPaintLabels
.
For further information and examples see How to Use Sliders, a section in The Java Tutorial.
Warning: Swing is not thread safe. For more information see Swing's Threading Policy.
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 JavaBeans™
has been added to the java.beans
package.
Please see XMLEncoder
.
Modifier and Type | Class | Description |
---|---|---|
protected class |
JSlider.AccessibleJSlider |
This class implements accessibility support for the
JSlider class. |
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Container.AccessibleAWTContainer
JComponent.AccessibleJComponent
Modifier and Type | Field | Description |
---|---|---|
protected ChangeEvent |
changeEvent |
Only one
ChangeEvent is needed per slider instance since the
event's only (read-only) state is the source property. |
protected ChangeListener |
changeListener |
The changeListener (no suffix) is the listener we add to the
slider's model.
|
protected int |
majorTickSpacing |
The number of values between the major tick marks -- the
larger marks that break up the minor tick marks.
|
protected int |
minorTickSpacing |
The number of values between the minor tick marks -- the
smaller marks that occur between the major tick marks.
|
protected int |
orientation |
Whether the slider is horizontal or vertical
The default is horizontal.
|
protected BoundedRangeModel |
sliderModel |
The data model that handles the numeric maximum value,
minimum value, and current-position value for the slider.
|
protected boolean |
snapToTicks |
If true, the knob (and the data value it represents)
resolve to the closest tick mark next to where the user
positioned the knob.
|
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
Constructor | Description |
---|---|
JSlider() |
Creates a horizontal slider with the range 0 to 100 and
an initial value of 50.
|
JSlider(int orientation) |
Creates a slider using the specified orientation with the
range
0 to 100 and an initial value of 50 . |
JSlider(int min,
int max) |
Creates a horizontal slider using the specified min and max
with an initial value equal to the average of the min plus max.
|
JSlider(int min,
int max,
int value) |
Creates a horizontal slider using the specified min, max and value.
|
JSlider(int orientation,
int min,
int max,
int value) |
Creates a slider with the specified orientation and the
specified minimum, maximum, and initial values.
|
JSlider(BoundedRangeModel brm) |
Creates a horizontal slider using the specified
BoundedRangeModel.
|
Modifier and Type | Method | Description |
---|---|---|
void |
addChangeListener(ChangeListener l) |
Adds a ChangeListener to the slider.
|
protected ChangeListener |
createChangeListener() |
Subclasses that want to handle
ChangeEvent s
from the model differently
can override this to return
an instance of a custom ChangeListener implementation. |
Hashtable<Integer,JComponent> |
createStandardLabels(int increment) |
Creates a
Hashtable of numerical text labels, starting at the
slider minimum, and using the increment specified. |
Hashtable<Integer,JComponent> |
createStandardLabels(int increment,
int start) |
Creates a
Hashtable of numerical text labels, starting at the
starting point specified, and using the increment specified. |
protected void |
fireStateChanged() |
Send a
ChangeEvent , whose source is this JSlider , to
all ChangeListener s that have registered interest in
ChangeEvent s. |
AccessibleContext |
getAccessibleContext() |
Gets the AccessibleContext associated with this JSlider.
|
ChangeListener[] |
getChangeListeners() |
Returns an array of all the
ChangeListener s added
to this JSlider with addChangeListener(). |
int |
getExtent() |
Returns the "extent" from the
BoundedRangeModel . |
boolean |
getInverted() |
Returns true if the value-range shown for the slider is reversed,
|
Dictionary |
getLabelTable() |
Returns the dictionary of what labels to draw at which values.
|
int |
getMajorTickSpacing() |
This method returns the major tick spacing.
|
int |
getMaximum() |
Returns the maximum value supported by the slider
from the
BoundedRangeModel . |
int |
getMinimum() |
Returns the minimum value supported by the slider
from the
BoundedRangeModel . |
int |
getMinorTickSpacing() |
This method returns the minor tick spacing.
|
BoundedRangeModel |
getModel() |
Returns the
BoundedRangeModel that handles the slider's three
fundamental properties: minimum, maximum, value. |
int |
getOrientation() |
Return this slider's vertical or horizontal orientation.
|
boolean |
getPaintLabels() |
Tells if labels are to be painted.
|
boolean |
getPaintTicks() |
Tells if tick marks are to be painted.
|
boolean |
getPaintTrack() |
Tells if the track (area the slider slides in) is to be painted.
|
boolean |
getSnapToTicks() |
Returns true if the knob (and the data value it represents)
resolve to the closest tick mark next to where the user
positioned the knob.
|
SliderUI |
getUI() |
Gets the UI object which implements the L&F for this component.
|
String |
getUIClassID() |
Returns the name of the L&F class that renders this component.
|
int |
getValue() |
Returns the slider's current value
from the
BoundedRangeModel . |
boolean |
getValueIsAdjusting() |
Returns the
valueIsAdjusting property from the model. |
boolean |
imageUpdate(Image img,
int infoflags,
int x,
int y,
int w,
int h) |
Repaints the component when the image has changed.
|
protected String |
paramString() |
Returns a string representation of this JSlider.
|
void |
removeChangeListener(ChangeListener l) |
Removes a ChangeListener from the slider.
|
void |
setExtent(int extent) |
Sets the size of the range "covered" by the knob.
|
void |
setFont(Font font) |
Sets the font for this component.
|
void |
setInverted(boolean b) |
Specify true to reverse the value-range shown for the slider and false to
put the value range in the normal order.
|
void |
setLabelTable(Dictionary labels) |
Used to specify what label will be drawn at any given value.
|
void |
setMajorTickSpacing(int n) |
This method sets the major tick spacing.
|
void |
setMaximum(int maximum) |
Sets the slider's maximum value to
maximum . |
void |
setMinimum(int minimum) |
Sets the slider's minimum value to
minimum . |
void |
setMinorTickSpacing(int n) |
This method sets the minor tick spacing.
|
void |
setModel(BoundedRangeModel newModel) |
Sets the
BoundedRangeModel that handles the slider's three
fundamental properties: minimum, maximum, value. |
void |
setOrientation(int orientation) |
Set the slider's orientation to either
SwingConstants.VERTICAL or
SwingConstants.HORIZONTAL . |
void |
setPaintLabels(boolean b) |
Determines whether labels are painted on the slider.
|
void |
setPaintTicks(boolean b) |
Determines whether tick marks are painted on the slider.
|
void |
setPaintTrack(boolean b) |
Determines whether the track is painted on the slider.
|
void |
setSnapToTicks(boolean b) |
Specifying true makes the knob (and the data value it represents)
resolve to the closest tick mark next to where the user
positioned the knob.
|
void |
setUI(SliderUI ui) |
Sets the UI object which implements the L&F for this component.
|
void |
setValue(int n) |
Sets the slider's current value to
n . |
void |
setValueIsAdjusting(boolean b) |
Sets the model's
valueIsAdjusting property. |
protected void |
updateLabelUIs() |
Updates the UIs for the labels in the label table by calling
updateUI on each label. |
void |
updateUI() |
Resets the UI property to a value from the current look and feel.
|
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
protected BoundedRangeModel sliderModel
protected int majorTickSpacing
protected int minorTickSpacing
setMinorTickSpacing(int)
protected boolean snapToTicks
setSnapToTicks(boolean)
protected int orientation
setOrientation(int)
protected ChangeListener changeListener
ChangeListener
returned from createChangeListener
,
which by default just forwards events
to ChangeListener
s (if any) added directly to the slider.protected transient ChangeEvent changeEvent
ChangeEvent
is needed per slider instance since the
event's only (read-only) state is the source property. The source
of events generated here is always "this". The event is lazily
created the first time that an event notification is fired.fireStateChanged()
public JSlider()
public JSlider(int orientation)
0
to 100
and an initial value of 50
.
The orientation can be
either SwingConstants.VERTICAL
or
SwingConstants.HORIZONTAL
.orientation
- the orientation of the sliderIllegalArgumentException
- if orientation is not one of VERTICAL
, HORIZONTAL
setOrientation(int)
public JSlider(int min, int max)
The BoundedRangeModel
that holds the slider's data
handles any issues that may arise from improperly setting the
minimum and maximum values on the slider. See the
BoundedRangeModel
documentation for details.
min
- the minimum value of the slidermax
- the maximum value of the sliderBoundedRangeModel
,
setMinimum(int)
,
setMaximum(int)
public JSlider(int min, int max, int value)
The BoundedRangeModel
that holds the slider's data
handles any issues that may arise from improperly setting the
minimum, initial, and maximum values on the slider. See the
BoundedRangeModel
documentation for details.
min
- the minimum value of the slidermax
- the maximum value of the slidervalue
- the initial value of the sliderBoundedRangeModel
,
setMinimum(int)
,
setMaximum(int)
,
setValue(int)
public JSlider(int orientation, int min, int max, int value)
SwingConstants.VERTICAL
or
SwingConstants.HORIZONTAL
.
The BoundedRangeModel
that holds the slider's data
handles any issues that may arise from improperly setting the
minimum, initial, and maximum values on the slider. See the
BoundedRangeModel
documentation for details.
orientation
- the orientation of the slidermin
- the minimum value of the slidermax
- the maximum value of the slidervalue
- the initial value of the sliderIllegalArgumentException
- if orientation is not one of VERTICAL
, HORIZONTAL
BoundedRangeModel
,
setOrientation(int)
,
setMinimum(int)
,
setMaximum(int)
,
setValue(int)
public JSlider(BoundedRangeModel brm)
brm
- a BoundedRangeModel
for the sliderpublic SliderUI getUI()
getUI
in class JComponent
@BeanProperty(hidden=true, visualUpdate=true, description="The UI object that implements the slider\'s LookAndFeel.") public void setUI(SliderUI ui)
ui
- the SliderUI L&F objectUIDefaults.getUI(javax.swing.JComponent)
public void updateUI()
updateUI
in class JComponent
JComponent.updateUI()
@BeanProperty(bound=false) public String getUIClassID()
getUIClassID
in class JComponent
JComponent.getUIClassID()
,
UIDefaults.getUI(javax.swing.JComponent)
protected ChangeListener createChangeListener()
ChangeEvent
s
from the model differently
can override this to return
an instance of a custom ChangeListener
implementation.
The default ChangeListener
simply calls the
fireStateChanged
method to forward ChangeEvent
s
to the ChangeListener
s that have been added directly to the
slider.ChangeListener
changeListener
,
fireStateChanged()
,
ChangeListener
,
BoundedRangeModel
public void addChangeListener(ChangeListener l)
l
- the ChangeListener to addfireStateChanged()
,
removeChangeListener(javax.swing.event.ChangeListener)
public void removeChangeListener(ChangeListener l)
l
- the ChangeListener to removefireStateChanged()
,
addChangeListener(javax.swing.event.ChangeListener)
@BeanProperty(bound=false) public ChangeListener[] getChangeListeners()
ChangeListener
s added
to this JSlider with addChangeListener().ChangeListener
s added or an empty
array if no listeners have been addedprotected void fireStateChanged()
ChangeEvent
, whose source is this JSlider
, to
all ChangeListener
s that have registered interest in
ChangeEvent
s.
This method is called each time a ChangeEvent
is received from
the model.
The event instance is created if necessary, and stored in
changeEvent
.
public BoundedRangeModel getModel()
BoundedRangeModel
that handles the slider's three
fundamental properties: minimum, maximum, value.setModel(javax.swing.BoundedRangeModel)
,
BoundedRangeModel
@BeanProperty(description="The sliders BoundedRangeModel.") public void setModel(BoundedRangeModel newModel)
BoundedRangeModel
that handles the slider's three
fundamental properties: minimum, maximum, value.
Attempts to pass a null
model to this method result in
undefined behavior, and, most likely, exceptions.
newModel
- the new, non-null
BoundedRangeModel
to usegetModel()
,
BoundedRangeModel
public int getValue()
BoundedRangeModel
.setValue(int)
,
BoundedRangeModel.getValue()
@BeanProperty(bound=false, preferred=true, description="The sliders current value.") public void setValue(int n)
n
. This method
forwards the new value to the model.
The data model (an instance of BoundedRangeModel
)
handles any mathematical
issues arising from assigning faulty values. See the
BoundedRangeModel
documentation for details.
If the new value is different from the previous value, all change listeners are notified.
n
- the new valuegetValue()
,
addChangeListener(javax.swing.event.ChangeListener)
,
BoundedRangeModel.setValue(int)
public int getMinimum()
BoundedRangeModel
.setMinimum(int)
,
BoundedRangeModel.getMinimum()
@BeanProperty(preferred=true, description="The sliders minimum value.") public void setMinimum(int minimum)
minimum
. This method
forwards the new minimum value to the model.
The data model (an instance of BoundedRangeModel
)
handles any mathematical
issues arising from assigning faulty values. See the
BoundedRangeModel
documentation for details.
If the new minimum value is different from the previous minimum value, all change listeners are notified.
minimum
- the new minimumgetMinimum()
,
addChangeListener(javax.swing.event.ChangeListener)
,
BoundedRangeModel.setMinimum(int)
public int getMaximum()
BoundedRangeModel
.setMaximum(int)
,
BoundedRangeModel.getMaximum()
@BeanProperty(preferred=true, description="The sliders maximum value.") public void setMaximum(int maximum)
maximum
. This method
forwards the new maximum value to the model.
The data model (an instance of BoundedRangeModel
)
handles any mathematical
issues arising from assigning faulty values. See the
BoundedRangeModel
documentation for details.
If the new maximum value is different from the previous maximum value, all change listeners are notified.
maximum
- the new maximumgetMaximum()
,
addChangeListener(javax.swing.event.ChangeListener)
,
BoundedRangeModel.setMaximum(int)
public boolean getValueIsAdjusting()
valueIsAdjusting
property from the model. For
details on how this is used, see the setValueIsAdjusting
documentation.valueIsAdjusting
propertysetValueIsAdjusting(boolean)
@BeanProperty(bound=false, expert=true, description="True if the slider knob is being dragged.") public void setValueIsAdjusting(boolean b)
valueIsAdjusting
property. Slider look and
feel implementations should set this property to true
when
a knob drag begins, and to false
when the drag ends.b
- the new value for the valueIsAdjusting
propertygetValueIsAdjusting()
,
BoundedRangeModel.setValueIsAdjusting(boolean)
public int getExtent()
BoundedRangeModel
.
This represents the range of values "covered" by the knob.setExtent(int)
,
BoundedRangeModel.getExtent()
@BeanProperty(bound=false, expert=true, description="Size of the range covered by the knob.") public void setExtent(int extent)
The data model (an instance of BoundedRangeModel
)
handles any mathematical
issues arising from assigning faulty values. See the
BoundedRangeModel
documentation for details.
If the new extent value is different from the previous extent value, all change listeners are notified.
extent
- the new extentgetExtent()
,
BoundedRangeModel.setExtent(int)
public int getOrientation()
SwingConstants.VERTICAL
or
SwingConstants.HORIZONTAL
setOrientation(int)
@BeanProperty(preferred=true, visualUpdate=true, enumerationValues={"JSlider.VERTICAL","JSlider.HORIZONTAL"}, description="Set the scrollbars orientation to either VERTICAL or HORIZONTAL.") public void setOrientation(int orientation)
SwingConstants.VERTICAL
or
SwingConstants.HORIZONTAL
.orientation
- HORIZONTAL
or VERTICAL
IllegalArgumentException
- if orientation is not one of VERTICAL
, HORIZONTAL
getOrientation()
public void setFont(Font font)
setFont
in class JComponent
font
- the desired Font
for this componentComponent.getFont()
public boolean imageUpdate(Image img, int infoflags, int x, int y, int w, int h)
imageUpdate
method of an ImageObserver
is called when more information about an
image which had been previously requested using an asynchronous
routine such as the drawImage
method of
Graphics
becomes available.
See the definition of imageUpdate
for
more information on this method and its arguments.
The imageUpdate
method of Component
incrementally draws an image on the component as more of the bits
of the image are available.
If the system property awt.image.incrementaldraw
is missing or has the value true
, the image is
incrementally drawn. If the system property has any other value,
then the image is not drawn until it has been completely loaded.
Also, if incremental drawing is in effect, the value of the
system property awt.image.redrawrate
is interpreted
as an integer to give the maximum redraw rate, in milliseconds. If
the system property is missing or cannot be interpreted as an
integer, the redraw rate is once every 100ms.
The interpretation of the x
, y
,
width
, and height
arguments depends on
the value of the infoflags
argument.
imageUpdate
in interface ImageObserver
imageUpdate
in class Component
img
- the image being observedinfoflags
- see imageUpdate
for more informationx
- the x coordinatey
- the y coordinatew
- the widthh
- the heightfalse
if the infoflags indicate that the
image is completely loaded; true
otherwise.ImageObserver
,
Graphics.drawImage(Image, int, int, Color, java.awt.image.ImageObserver)
,
Graphics.drawImage(Image, int, int, java.awt.image.ImageObserver)
,
Graphics.drawImage(Image, int, int, int, int, Color, java.awt.image.ImageObserver)
,
Graphics.drawImage(Image, int, int, int, int, java.awt.image.ImageObserver)
,
ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)
public Dictionary getLabelTable()
Dictionary
containing labels and
where to draw them@BeanProperty(hidden=true, visualUpdate=true, description="Specifies what labels will be drawn for any given value.") public void setLabelTable(Dictionary labels)
{ Integer value, java.swing.JComponent label }
.
An easy way to generate a standard table of value labels is by using the
createStandardLabels
method.
Once the labels have been set, this method calls updateLabelUIs()
.
Note that the labels are only painted if the paintLabels
property is true
.
labels
- new Dictionary
of labels, or null
to
remove all labelscreateStandardLabels(int)
,
getLabelTable()
,
setPaintLabels(boolean)
protected void updateLabelUIs()
updateUI
on each label. The UIs are updated from
the current look and feel. The labels are also set to their
preferred size.public Hashtable<Integer,JComponent> createStandardLabels(int increment)
Hashtable
of numerical text labels, starting at the
slider minimum, and using the increment specified.
For example, if you call createStandardLabels( 10 )
and the slider minimum is zero,
then labels will be created for the values 0, 10, 20, 30, and so on.
For the labels to be drawn on the slider, the returned Hashtable
must be passed into setLabelTable
, and setPaintLabels
must be set to true
.
For further details on the makeup of the returned Hashtable
, see
the setLabelTable
documentation.
increment
- distance between labels in the generated hashtableHashtable
of labelsIllegalArgumentException
- if increment
is less than or
equal to zerosetLabelTable(java.util.Dictionary)
,
setPaintLabels(boolean)
public Hashtable<Integer,JComponent> createStandardLabels(int increment, int start)
Hashtable
of numerical text labels, starting at the
starting point specified, and using the increment specified.
For example, if you call
createStandardLabels( 10, 2 )
,
then labels will be created for the values 2, 12, 22, 32, and so on.
For the labels to be drawn on the slider, the returned Hashtable
must be passed into setLabelTable
, and setPaintLabels
must be set to true
.
For further details on the makeup of the returned Hashtable
, see
the setLabelTable
documentation.
increment
- distance between labels in the generated hashtablestart
- value at which the labels will beginHashtable
of labelsIllegalArgumentException
- if start
is
out of range, or if increment
is less than or equal
to zerosetLabelTable(java.util.Dictionary)
,
setPaintLabels(boolean)
public boolean getInverted()
setInverted(boolean)
@BeanProperty(visualUpdate=true, description="If true reverses the slider values from their normal order") public void setInverted(boolean b)
ComponentOrientation
property. Normal (non-inverted)
horizontal sliders with a ComponentOrientation
value of
LEFT_TO_RIGHT
have their maximum on the right.
Normal horizontal sliders with a ComponentOrientation
value of
RIGHT_TO_LEFT
have their maximum on the left. Normal vertical
sliders have their maximum on the top. These labels are reversed when the
slider is inverted.
By default, the value of this property is false
.
b
- true to reverse the slider values from their normal orderpublic int getMajorTickSpacing()
setMajorTickSpacing(int)
@BeanProperty(visualUpdate=true, description="Sets the number of values between major tick marks.") public void setMajorTickSpacing(int n)
In order for major ticks to be painted, setPaintTicks
must be
set to true
.
This method will also set up a label table for you.
If there is not already a label table, and the major tick spacing is
> 0
, and getPaintLabels
returns
true
, a standard label table will be generated (by calling
createStandardLabels
) with labels at the major tick marks.
For the example above, you would get text labels: "0",
"10", "20", "30", "40", "50".
The label table is then set on the slider by calling
setLabelTable
.
n
- new value for the majorTickSpacing
propertygetMajorTickSpacing()
,
setPaintTicks(boolean)
,
setLabelTable(java.util.Dictionary)
,
createStandardLabels(int)
public int getMinorTickSpacing()
getMinorTickSpacing()
@BeanProperty(visualUpdate=true, description="Sets the number of values between minor tick marks.") public void setMinorTickSpacing(int n)
In order for minor ticks to be painted, setPaintTicks
must be
set to true
.
n
- new value for the minorTickSpacing
propertygetMinorTickSpacing()
,
setPaintTicks(boolean)
public boolean getSnapToTicks()
setSnapToTicks(boolean)
@BeanProperty(description="If true snap the knob to the nearest tick mark.") public void setSnapToTicks(boolean b)
false
.b
- true to snap the knob to the nearest tick markgetSnapToTicks()
public boolean getPaintTicks()
setPaintTicks(boolean)
@BeanProperty(visualUpdate=true, description="If true tick marks are painted on the slider.") public void setPaintTicks(boolean b)
false
.b
- whether or not tick marks should be paintedgetPaintTicks()
public boolean getPaintTrack()
setPaintTrack(boolean)
@BeanProperty(visualUpdate=true, description="If true, the track is painted on the slider.") public void setPaintTrack(boolean b)
true
. It is up to the look and feel to honor this
property, some may choose to ignore it.b
- whether or not to paint the slider trackgetPaintTrack()
public boolean getPaintLabels()
setPaintLabels(boolean)
@BeanProperty(visualUpdate=true, description="If true labels are painted on the slider.") public void setPaintLabels(boolean b)
This method will also set up a label table for you.
If there is not already a label table, and the major tick spacing is
> 0
,
a standard label table will be generated (by calling
createStandardLabels
) with labels at the major tick marks.
The label table is then set on the slider by calling
setLabelTable
.
By default, this property is false
.
b
- whether or not to paint labelsgetPaintLabels()
,
getLabelTable()
,
createStandardLabels(int)
protected String paramString()
null
.paramString
in class JComponent
@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
getAccessibleContext
in interface Accessible
getAccessibleContext
in class Component
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, 2017, Oracle and/or its affiliates. 500 Oracle Parkway
Redwood Shores, CA 94065 USA. All rights reserved.
DRAFT 9-internal+0-adhoc.mlchung.jdk9-jdeps