| 
 | Java™ Platform Standard Ed. 6 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JSlider
public class JSlider
A component that lets the user graphically select a value by sliding a knob within a bounded interval.
 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 JavaBeansTM
 has been added to the java.beans package.
 Please see XMLEncoder.
| Nested Class Summary | |
|---|---|
| protected  class | JSlider.AccessibleJSliderThis class implements accessibility support for the JSliderclass. | 
| Nested classes/interfaces inherited from class javax.swing.JComponent | 
|---|
| JComponent.AccessibleJComponent | 
| Nested classes/interfaces inherited from class java.awt.Container | 
|---|
| Container.AccessibleAWTContainer | 
| Nested classes/interfaces inherited from class java.awt.Component | 
|---|
| Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy | 
| Field Summary | |
|---|---|
| protected  ChangeEvent | changeEventOnly one ChangeEventis needed per slider instance since the
 event's only (read-only) state is the source property. | 
| protected  ChangeListener | changeListenerThe changeListener (no suffix) is the listener we add to the slider's model. | 
| protected  int | majorTickSpacingThe number of values between the major tick marks -- the larger marks that break up the minor tick marks. | 
| protected  int | minorTickSpacingThe number of values between the minor tick marks -- the smaller marks that occur between the major tick marks. | 
| protected  int | orientationWhether the slider is horizontal or vertical The default is horizontal. | 
| protected  BoundedRangeModel | sliderModelThe data model that handles the numeric maximum value, minimum value, and current-position value for the slider. | 
| protected  boolean | snapToTicksIf true, the knob (and the data value it represents) resolve to the closest tick mark next to where the user positioned the knob. | 
| Fields inherited from class javax.swing.JComponent | 
|---|
| accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW | 
| Fields inherited from class java.awt.Component | 
|---|
| BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT | 
| Fields inherited from interface javax.swing.SwingConstants | 
|---|
| BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST | 
| Fields inherited from interface java.awt.image.ImageObserver | 
|---|
| ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH | 
| Constructor Summary | |
|---|---|
| JSlider()Creates a horizontal slider with the range 0 to 100 and an initial value of 50. | |
| JSlider(BoundedRangeModel brm)Creates a horizontal slider using the specified BoundedRangeModel. | |
| JSlider(int orientation)Creates a slider using the specified orientation with the range 0to100and an initial value of50. | |
| 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. | |
| Method Summary | |
|---|---|
|  void | addChangeListener(ChangeListener l)Adds a ChangeListener to the slider. | 
| protected  ChangeListener | createChangeListener()Subclasses that want to handle ChangeEvents
 from the model differently
 can override this to return 
 an instance of a customChangeListenerimplementation. | 
|  Hashtable | createStandardLabels(int increment)Creates a Hashtableof numerical text labels, starting at the
 slider minimum, and using the increment specified. | 
|  Hashtable | createStandardLabels(int increment,
                     int start)Creates a Hashtableof numerical text labels, starting at the
 starting point specified, and using the increment specified. | 
| protected  void | fireStateChanged()Send a ChangeEvent, whose source is thisJSlider, to
 allChangeListeners that have registered interest inChangeEvents. | 
|  AccessibleContext | getAccessibleContext()Gets the AccessibleContext associated with this JSlider. | 
|  ChangeListener[] | getChangeListeners()Returns an array of all the ChangeListeners 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 BoundedRangeModelthat 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 valueIsAdjustingproperty from the model. | 
| 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 BoundedRangeModelthat handles the slider's three
 fundamental properties: minimum, maximum, value. | 
|  void | setOrientation(int orientation)Set the slider's orientation to either SwingConstants.VERTICALorSwingConstants.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 valueIsAdjustingproperty. | 
| protected  void | updateLabelUIs()Updates the UIs for the labels in the label table by calling updateUIon each label. | 
|  void | updateUI()Resets the UI property to a value from the current look and feel. | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | 
| Field Detail | 
|---|
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 ChangeListeners (if any) added directly to the slider.
addChangeListener(javax.swing.event.ChangeListener), 
createChangeListener()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()| Constructor Detail | 
|---|
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 slider
IllegalArgumentException - if orientation is not one of VERTICAL, HORIZONTALsetOrientation(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 slider
IllegalArgumentException - if orientation is not one of VERTICAL, HORIZONTALBoundedRangeModel, 
setOrientation(int), 
setMinimum(int), 
setMaximum(int), 
setValue(int)public JSlider(BoundedRangeModel brm)
| Method Detail | 
|---|
public SliderUI getUI()
public void setUI(SliderUI ui)
ui - the SliderUI L&F objectUIDefaults.getUI(javax.swing.JComponent)public void updateUI()
updateUI in class JComponentJComponent.updateUI()public String getUIClassID()
getUIClassID in class JComponentJComponent.getUIClassID(), 
UIDefaults.getUI(javax.swing.JComponent)protected ChangeListener createChangeListener()
ChangeEvents
 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 ChangeEvents 
 to the ChangeListeners that have been added directly to the
 slider.
changeListener, 
fireStateChanged(), 
ChangeListener, 
BoundedRangeModelpublic 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)public ChangeListener[] getChangeListeners()
ChangeListeners added
 to this JSlider with addChangeListener().
ChangeListeners added or an empty
         array if no listeners have been addedprotected void fireStateChanged()
ChangeEvent, whose source is this JSlider, to
 all ChangeListeners that have registered interest in
 ChangeEvents.
 This method is called each time a ChangeEvent is received from
 the model.
 
 The event instance is created if necessary, and stored in
 changeEvent.
addChangeListener(javax.swing.event.ChangeListener), 
EventListenerListpublic BoundedRangeModel getModel()
BoundedRangeModel that handles the slider's three
 fundamental properties: minimum, maximum, value.
setModel(javax.swing.BoundedRangeModel), 
BoundedRangeModelpublic 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(), 
BoundedRangeModelpublic int getValue()
BoundedRangeModel.
setValue(int), 
BoundedRangeModel.getValue()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()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.
n - the new minimumgetMinimum(), 
addChangeListener(javax.swing.event.ChangeListener), 
BoundedRangeModel.setMinimum(int)public int getMaximum()
BoundedRangeModel.
setMaximum(int), 
BoundedRangeModel.getMaximum()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.
n - 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)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.  The
 slider model will not generate ChangeEvents while
 valueIsAdjusting is true.
b - the new value for the valueIsAdjusting propertygetValueIsAdjusting(), 
BoundedRangeModel.setValueIsAdjusting(boolean)public int getExtent()
BoundedRangeModel.
 This respresents the range of values "covered" by the knob.
setExtent(int), 
BoundedRangeModel.getExtent()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.HORIZONTALsetOrientation(int)public void setOrientation(int orientation)
SwingConstants.VERTICAL or
 SwingConstants.HORIZONTAL.
orientation - HORIZONTAL or VERTICAL
IllegalArgumentException - if orientation is not one of VERTICAL, HORIZONTALgetOrientation()public void setFont(Font font)
setFont in class JComponentfont - the desired Font for this componentComponent.getFont()public Dictionary getLabelTable()
Dictionary containing labels and
    where to draw thempublic 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.
setLabelTable(java.util.Dictionary), 
JComponent.updateUI()public Hashtable 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 hashtable
Hashtable of labels
IllegalArgumentException - if increment is less than or
                equal to zerosetLabelTable(java.util.Dictionary), 
setPaintLabels(boolean)
public Hashtable 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 begin
Hashtable of labels
IllegalArgumentException - 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)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)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()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)public void setSnapToTicks(boolean b)
false.
b - true to snap the knob to the nearest tick markgetSnapToTicks()public boolean getPaintTicks()
setPaintTicks(boolean)public void setPaintTicks(boolean b)
false.
b - whether or not tick marks should be paintedgetPaintTicks()public boolean getPaintTrack()
setPaintTrack(boolean)public void setPaintTrack(boolean b)
true.
b - whether or not to paint the slider trackgetPaintTrack()public boolean getPaintLabels()
setPaintLabels(boolean)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 JComponentpublic AccessibleContext getAccessibleContext()
getAccessibleContext in interface AccessiblegetAccessibleContext in class JComponent| 
 | Java™ Platform Standard Ed. 6 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
Copyright © 1993, 2010, Oracle and/or its affiliates. All rights reserved.