javax.swing
public class JSlider extends JComponent implements SwingConstants, Accessible, ImageObserver, MenuContainer, Serializable
A JSlider
component has the following properties:
Property | Stored in | Bound? |
---|---|---|
extent | model | no |
inverted | slider | yes |
labelTable | slider | yes |
majorTickSpacing | slider | yes |
maximum | model | yes |
minimum | model | yes |
minorTickSpacing | slider | yes |
model | slider | yes |
orientation | slider | yes |
paintLabels | slider | yes |
paintTicks | slider | yes |
snapToTicks | slider | yes |
value | model | no |
valueIsAdjusting | model | no |
The various behavioural aspects of these properties follows:
Nested Class Summary | |
---|---|
protected class | JSlider.AccessibleJSlider
Provides the accessibility features for the JSlider
component. |
Field Summary | |
---|---|
protected ChangeEvent | changeEvent The change event that is passed to all listeners of this slider. |
protected ChangeListener | changeListener
The listener that monitors the slider's model and forwards events to the
slider's listeners (see createChangeListener() ). |
protected int | majorTickSpacing The space/distance between major ticks. |
protected int | minorTickSpacing The space/distance between minor ticks. |
protected int | orientation The orientation (horizontal or vertical) of the slider. |
protected BoundedRangeModel | sliderModel The model used to store the slider's range and current value. |
protected boolean | snapToTicks Whether the slider snaps its values to ticks. |
Constructor Summary | |
---|---|
JSlider()
Creates a new horizontal JSlider instance with a minimum of
0, a maximum of 100, and a value of 50. | |
JSlider(int orientation)
Creates a new JSlider instance with the given orientation
and a minimum of 0, a maximum of 100, and a value of 50.
| |
JSlider(int minimum, int maximum)
Creates a new horizontal JSlider instance with the given
maximum and minimum and a value that is halfway between the minimum and the
maximum.
| |
JSlider(int minimum, int maximum, int value)
Creates a new horizontal JSlider instance with the given
minimum, maximum, and value.
| |
JSlider(int orientation, int minimum, int maximum, int value)
Creates a new JSlider instance with the given orientation,
minimum, maximum, and value.
| |
JSlider(BoundedRangeModel model)
Creates a new horizontal JSlider instance with the given
model.
|
Method Summary | |
---|---|
void | addChangeListener(ChangeListener listener)
Registers a listener with the slider so that it will receive
{@link ChangeEvent} notifications. |
protected ChangeListener | createChangeListener()
Creates a {@link ChangeListener} that is added to the slider's model and
forwards change events generated by the model to the listeners that are
registered with the JSlider (by calling the
{@link #fireStateChanged} method).
|
Hashtable | createStandardLabels(int increment)
Creates a hashtable of (Integer, JLabel) pairs that can be
used as a label table for this slider. |
Hashtable | createStandardLabels(int increment, int start)
Creates a hashtable of (Integer, JLabel) pairs that can be
used as a label table for this slider. |
protected void | fireStateChanged()
Sends a {@link ChangeEvent} to all registered listeners, with this slider
as the source. |
AccessibleContext | getAccessibleContext()
Returns the object that provides accessibility features for this
JSlider component.
|
ChangeListener[] | getChangeListeners()
Returns an array containing all the {@link ChangeListener} instances
registered with this slider. |
int | getExtent()
Returns the slider's extent value, obtained from the slider's model.
|
boolean | getInverted()
Returns the flag that controls whether or not the value scale for the
slider is inverted (the default value is false ).
|
Dictionary | getLabelTable()
Returns the label table for the slider.
|
int | getMajorTickSpacing()
Returns the distance between major tick marks along the slider's value
scale.
|
int | getMaximum()
Returns the slider's maximum value (obtained from the slider's model).
|
int | getMinimum()
Returns the minimum value of the slider (from the slider's model).
|
int | getMinorTickSpacing()
Returns the distance between minor tick marks along the slider's value
scale.
|
BoundedRangeModel | getModel()
Returns the slider's model, which stores the minimum, maximum and current
values.
|
int | getOrientation()
Returns the orientation of the slider, either {@link JSlider#HORIZONTAL}
or {@link JSlider#VERTICAL}.
|
boolean | getPaintLabels()
Returns the flag that controls whether or not labels are painted for the
tick marks along the slider.
|
boolean | getPaintTicks()
Returns the flag that controls whether or not tick marks are painted along
the slider's value scale.
|
boolean | getPaintTrack()
Returns the flag that controls whether or not the track is painted.
|
boolean | getSnapToTicks()
Returns the flag that controls whether the slider thumb will snap to ticks.
|
SliderUI | getUI()
Returns the slider's UI delegate.
|
String | getUIClassID()
Returns the suffix ( "SliderUI" in this case) used to
determine the class name for a UI delegate that can provide the look and
feel for a JSlider .
|
int | getValue()
Returns the slider's value (from the slider's model).
|
boolean | getValueIsAdjusting()
Returns the valueIsAdjusting flag from the slider's model.
|
protected String | paramString()
Returns an implementation-dependent string describing the attributes of
this JSlider .
|
void | removeChangeListener(ChangeListener listener)
Removes a listener from this slider so that it will no longer receive
{@link ChangeEvent} notifications from the slider.
|
void | setExtent(int extent)
Sets the slider's extent value and sends a {@link ChangeEvent} to all
registered listeners. |
void | setInverted(boolean inverted)
Sets the flag that controls whether or not the value scale for the
slider is inverted and, if the new flag value is different to the old flag
value, sends a {@link PropertyChangeEvent} to all registered listeners.
|
void | setLabelTable(Dictionary table)
Sets the table of labels for the slider and sends a
{@link PropertyChangeEvent} (with the property name "labelTable") to all
registered listeners.
|
void | setMajorTickSpacing(int spacing)
Sets the distance between major tick marks along the slider's value scale,
and sends a {@link PropertyChangeEvent} (with the property name
"majorTickSpacing") to all registered listeners.
|
void | setMaximum(int maximum)
Sets the maximum value of the slider and fires a
{@link PropertyChangeEvent} (with the property name "maximum") to all
registered listeners. |
void | setMinimum(int minimum)
Sets the minimum value of the slider and fires a
{@link PropertyChangeEvent} (with the property name "minimum") to all
registered listeners. |
void | setMinorTickSpacing(int spacing)
Sets the distance between minor tick marks along the slider's value scale,
and sends a {@link PropertyChangeEvent} (with the property name
"minorTickSpacing") to all registered listeners.
|
void | setModel(BoundedRangeModel model)
Sets the slider's model and sends a {@link PropertyChangeEvent} (with the
property name "model") to all registered listeners. |
void | setOrientation(int orientation)
Sets the orientation for the slider and sends a
{@link PropertyChangeEvent} (with the property name "orientation") to all
registered listeners.
|
void | setPaintLabels(boolean paint)
Sets the flag that controls whether or not labels are painted for the
tick marks along the slider and sends a {@link PropertyChangeEvent} (with
the property name "paintLabels") to all registered listeners.
|
void | setPaintTicks(boolean paint)
Sets the flag that controls whether or not tick marks are painted along
the slider's value scale, and sends a {@link PropertyChangeEvent} (with
the property name "paintTicks") to all registered listeners. |
void | setPaintTrack(boolean paint)
Sets the flag that controls whether or not the track is painted, and
sends a {@link PropertyChangeEvent} (for the "paintTrack" property) to all
registered listeners.
|
void | setSnapToTicks(boolean snap)
Sets the flag that controls whether the slider thumb will snap to ticks
and sends a {@link PropertyChangeEvent} (with the property name
'snapToTicks') to all registered listeners. |
void | setUI(SliderUI ui)
Sets the slider's UI delegate.
|
void | setValue(int value)
Sets the slider's value and sends a {@link ChangeEvent} to all
registered listeners. |
void | setValueIsAdjusting(boolean adjusting)
Sets the valueIsAdjusting flag in the slider's model, and
sends a {@link ChangeEvent} to all registered listeners.
|
protected void | updateLabelUIs()
Resets the UI delegates for the labels in the labelTable to
the default for the current look and feel. |
void | updateUI()
Sets this slider's UI delegate to the default (obtained from the
{@link UIManager}) for the current look and feel. |
createChangeListener()
).JSlider
instance with a minimum of
0, a maximum of 100, and a value of 50.JSlider
instance with the given orientation
and a minimum of 0, a maximum of 100, and a value of 50.
Parameters: orientation The orientation of the slider ({@link #HORIZONTAL} or {@link #VERTICAL}).
Throws: IllegalArgumentException if orientation
is not one of
the specified values.
JSlider
instance with the given
maximum and minimum and a value that is halfway between the minimum and the
maximum.
Parameters: minimum The minimum value. maximum The maximum value.
Throws: IllegalArgumentException if minimum
is greater than
maximum
.
JSlider
instance with the given
minimum, maximum, and value.
Parameters: minimum The minimum value. maximum The maximum value. value The initial value.
Throws: IllegalArgumentException if value
is not in the
specified range. IllegalArgumentException if minimum
is greater than
maximum
.
JSlider
instance with the given orientation,
minimum, maximum, and value.
Parameters: orientation The orientation of the slider ({@link #HORIZONTAL} or {@link #VERTICAL}). minimum The minimum value of the JSlider. maximum The maximum value of the JSlider. value The initial value of the JSlider.
Throws: IllegalArgumentException if orientation
is not one of
the specified values. IllegalArgumentException if value
is not in the
specified range. IllegalArgumentException if minimum
is greater than
maximum
.
JSlider
instance with the given
model.
Parameters: model The model (null
not permitted).
Throws: NullPointerException if model
is null
.
Parameters: listener the listener to register.
See Also: removeChangeListener
JSlider
(by calling the
{@link #fireStateChanged} method).
Returns: A new listener.
(Integer, JLabel)
pairs that can be
used as a label table for this slider. The labels will start from the
slider's minimum and increase by the increment. Each label will have a text
string indicating its integer value.
Parameters: increment The increment between labels (must be > 0).
Returns: A hashtable containing the labels.
Throws: IllegalArgumentException if increment
is not greater
than zero.
(Integer, JLabel)
pairs that can be
used as a label table for this slider. The labels will start from the
given start value and increase by the increment. Each label will have a
text string indicating its integer value.
Parameters: increment The increment between labels (must be > 0). start The value to start from.
Returns: A hashtable with the labels and their keys.
Throws: IllegalArgumentException if increment
is not greater
than zero, or start
is not within the range of the
model.
JSlider
component.
Returns: The accessible context (an instance of {@link AccessibleJSlider}).
Returns: An array array containing all the {@link ChangeListener} instances
registered with this slider (possibly empty, but never
null
).
Returns: The extent value.
See Also: JSlider
false
).
Returns: The flag that controls whether or not the value scale for the slider is inverted.
See Also: JSlider
Returns: The label table for the slider (possibly null
).
See Also: setLabelTable
Returns: The amount of units between each major tick mark.
See Also: JSlider
Returns: The maximum value of the slider.
See Also: JSlider
Returns: The minimum value of the slider.
See Also: JSlider
Returns: The distance between minor tick marks along the slider's value scale.
See Also: JSlider
Returns: The slider's model.
See Also: setModel
Returns: The orientation of the slider.
See Also: JSlider
Returns: Whether labels will be painted.
See Also: JSlider
Returns: true
if tick marks should be painted, and
false
if tick marks should not be painted.
See Also: JSlider
Returns: Whether the track will be painted.
See Also: JSlider
Returns: true
if the slider thumb automatically.
See Also: JSlider
Returns: The slider's UI delegate.
"SliderUI"
in this case) used to
determine the class name for a UI delegate that can provide the look and
feel for a JSlider
.
Returns: "SliderUI"
.
Returns: The value of the slider.
See Also: JSlider
valueIsAdjusting
flag from the slider's model.
Returns: The valueIsAdjusting
flag from the slider's model.
See Also: JSlider
JSlider
.
Returns: A string describing the attributes of this JSlider
(never null
).
Parameters: listener The listener to remove.
See Also: addChangeListener
Parameters: extent The extent value for this slider.
See Also: getExtent
true
. Similarly, a vertical slider will display a scale that
increases from bottom to top, and this is reversed if the 'inverted' flag
is set to true
.
Parameters: inverted the new flag value.
See Also: getInverted
Parameters: table the table of labels (null
permitted).
See Also: getLabelTable
Parameters: spacing the distance between major tick marks.
See Also: getMajorTickSpacing
Parameters: maximum The maximum value of the slider.
See Also: getMaximum
Parameters: minimum The minimum value of the slider.
See Also: getMinimum
Parameters: spacing the distance between minor tick marks.
See Also: getMinorTickSpacing
Parameters: model The model to use with the slider.
See Also: getModel
Parameters: orientation the orientation (one of {@link JSlider#HORIZONTAL} or {@link JSlider#VERTICAL}).
Throws: IllegalArgumentException if orientation
is not one of
the permitted values.
See Also: getOrientation
Parameters: paint Whether labels will be painted.
See Also: getPaintLabels
true
, one or both of the
minor tick spacing and major tick spacing attributes must be set to a
value greater than 0 in order for ticks to be painted.
Parameters: paint Whether ticks will be painted.
See Also: getPaintTicks
Parameters: paint Whether the track will be painted.
See Also: getPaintTrack
Parameters: snap the new flag value.
See Also: getSnapToTicks
Parameters: ui the UI delegate.
Parameters: value the new value.
See Also: getValue
valueIsAdjusting
flag in the slider's model, and
sends a {@link ChangeEvent} to all registered listeners.
Parameters: adjusting the new flag value.
See Also: getValueIsAdjusting
labelTable
to
the default for the current look and feel.