Class Slider

All Implemented Interfaces:
Styleable, EventTarget, Skinnable

public class Slider
extends Control
The Slider Control is used to display a continuous or discrete range of valid numeric choices and allows the user to interact with the control. It is typically represented visually as having a "track" and a "knob" or "thumb" which is dragged within the track. The Slider can optionally show tick marks and labels indicating the different slider position values.

The three fundamental variables of the slider are min, max, and value. The value should always be a number within the range defined by min and max. min should always be less than or equal to max (although a slider whose min and max are equal is a degenerate case that makes no sense). min defaults to 0, whereas max defaults to 100.

This first example creates a slider whose range, or span, goes from 0 to 1, and whose value defaults to .5:

 Slider slider = new Slider(0, 1, 0.5);

This next example shows a slider with customized tick marks and tick mark labels, which also spans from 0 to 1:

 Slider slider = new Slider(0, 1, 0.5);
 slider.setShowTickMarks(true);
 slider.setShowTickLabels(true);
 slider.setMajorTickUnit(0.25f);
 slider.setBlockIncrement(0.1f);
Image of the Slider control
Since:
JavaFX 2.0
  • Property Details

  • Constructor Details

    • Slider

      public Slider()
      Creates a default Slider instance.
    • Slider

      public Slider​(double min, double max, double value)
      Constructs a Slider control with the specified slider min, max and current value values.
      Parameters:
      min - Slider minimum value
      max - Slider maximum value
      value - Slider current value
  • Method Details

    • setMax

      public final void setMax​(double value)
      Sets the value of the property max.
      Property description:
      The maximum value represented by this Slider. This must be a value greater than min.
    • getMax

      public final double getMax()
      Gets the value of the property max.
      Property description:
      The maximum value represented by this Slider. This must be a value greater than min.
    • maxProperty

      public final DoubleProperty maxProperty()
      The maximum value represented by this Slider. This must be a value greater than min.
      See Also:
      getMax(), setMax(double)
    • setMin

      public final void setMin​(double value)
      Sets the value of the property min.
      Property description:
      The minimum value represented by this Slider. This must be a value less than max.
    • getMin

      public final double getMin()
      Gets the value of the property min.
      Property description:
      The minimum value represented by this Slider. This must be a value less than max.
    • minProperty

      public final DoubleProperty minProperty()
      The minimum value represented by this Slider. This must be a value less than max.
      See Also:
      getMin(), setMin(double)
    • setValue

      public final void setValue​(double value)
      Sets the value of the property value.
      Property description:
      The current value represented by this Slider. This value must always be between min and max, inclusive. If it is ever out of bounds either due to min or max changing or due to itself being changed, then it will be clamped to always remain valid.
    • getValue

      public final double getValue()
      Gets the value of the property value.
      Property description:
      The current value represented by this Slider. This value must always be between min and max, inclusive. If it is ever out of bounds either due to min or max changing or due to itself being changed, then it will be clamped to always remain valid.
    • valueProperty

      public final DoubleProperty valueProperty()
      The current value represented by this Slider. This value must always be between min and max, inclusive. If it is ever out of bounds either due to min or max changing or due to itself being changed, then it will be clamped to always remain valid.
      See Also:
      getValue(), setValue(double)
    • setValueChanging

      public final void setValueChanging​(boolean value)
      Sets the value of the property valueChanging.
      Property description:
      When true, indicates the current value of this Slider is changing. It provides notification that the value is changing. Once the value is computed, it is reset back to false.
    • isValueChanging

      public final boolean isValueChanging()
      Gets the value of the property valueChanging.
      Property description:
      When true, indicates the current value of this Slider is changing. It provides notification that the value is changing. Once the value is computed, it is reset back to false.
    • valueChangingProperty

      public final BooleanProperty valueChangingProperty()
      When true, indicates the current value of this Slider is changing. It provides notification that the value is changing. Once the value is computed, it is reset back to false.
      See Also:
      isValueChanging(), setValueChanging(boolean)
    • setOrientation

      public final void setOrientation​(Orientation value)
      Sets the value of the property orientation.
      Property description:
      The orientation of the Slider can either be horizontal or vertical.
    • getOrientation

      public final Orientation getOrientation()
      Gets the value of the property orientation.
      Property description:
      The orientation of the Slider can either be horizontal or vertical.
    • orientationProperty

      public final ObjectProperty<Orientation> orientationProperty()
      The orientation of the Slider can either be horizontal or vertical.
      See Also:
      getOrientation(), setOrientation(Orientation)
    • setShowTickLabels

      public final void setShowTickLabels​(boolean value)
      Sets the value of the property showTickLabels.
      Property description:
      Indicates that the labels for tick marks should be shown. Typically a Skin implementation will only show labels if showTickMarks is also true.
    • isShowTickLabels

      public final boolean isShowTickLabels()
      Gets the value of the property showTickLabels.
      Property description:
      Indicates that the labels for tick marks should be shown. Typically a Skin implementation will only show labels if showTickMarks is also true.
    • showTickLabelsProperty

      public final BooleanProperty showTickLabelsProperty()
      Indicates that the labels for tick marks should be shown. Typically a Skin implementation will only show labels if showTickMarks is also true.
      See Also:
      isShowTickLabels(), setShowTickLabels(boolean)
    • setShowTickMarks

      public final void setShowTickMarks​(boolean value)
      Sets the value of the property showTickMarks.
      Property description:
      Specifies whether the Skin implementation should show tick marks.
    • isShowTickMarks

      public final boolean isShowTickMarks()
      Gets the value of the property showTickMarks.
      Property description:
      Specifies whether the Skin implementation should show tick marks.
    • showTickMarksProperty

      public final BooleanProperty showTickMarksProperty()
      Specifies whether the Skin implementation should show tick marks.
      See Also:
      isShowTickMarks(), setShowTickMarks(boolean)
    • setMajorTickUnit

      public final void setMajorTickUnit​(double value)
      Sets the value of the property majorTickUnit.
      Property description:
      The unit distance between major tick marks. For example, if the min is 0 and the max is 100 and the majorTickUnit is 25, then there would be 5 tick marks: one at position 0, one at position 25, one at position 50, one at position 75, and a final one at position 100.

      This value should be positive and should be a value less than the span. Out of range values are essentially the same as disabling tick marks.

    • getMajorTickUnit

      public final double getMajorTickUnit()
      Gets the value of the property majorTickUnit.
      Property description:
      The unit distance between major tick marks. For example, if the min is 0 and the max is 100 and the majorTickUnit is 25, then there would be 5 tick marks: one at position 0, one at position 25, one at position 50, one at position 75, and a final one at position 100.

      This value should be positive and should be a value less than the span. Out of range values are essentially the same as disabling tick marks.

    • majorTickUnitProperty

      public final DoubleProperty majorTickUnitProperty()
      The unit distance between major tick marks. For example, if the min is 0 and the max is 100 and the majorTickUnit is 25, then there would be 5 tick marks: one at position 0, one at position 25, one at position 50, one at position 75, and a final one at position 100.

      This value should be positive and should be a value less than the span. Out of range values are essentially the same as disabling tick marks.

      See Also:
      getMajorTickUnit(), setMajorTickUnit(double)
    • setMinorTickCount

      public final void setMinorTickCount​(int value)
      Sets the value of the property minorTickCount.
      Property description:
      The number of minor ticks to place between any two major ticks. This number should be positive or zero. Out of range values will disable disable minor ticks, as will a value of zero.
    • getMinorTickCount

      public final int getMinorTickCount()
      Gets the value of the property minorTickCount.
      Property description:
      The number of minor ticks to place between any two major ticks. This number should be positive or zero. Out of range values will disable disable minor ticks, as will a value of zero.
    • minorTickCountProperty

      public final IntegerProperty minorTickCountProperty()
      The number of minor ticks to place between any two major ticks. This number should be positive or zero. Out of range values will disable disable minor ticks, as will a value of zero.
      See Also:
      getMinorTickCount(), setMinorTickCount(int)
    • setSnapToTicks

      public final void setSnapToTicks​(boolean value)
      Sets the value of the property snapToTicks.
      Property description:
      Indicates whether the value of the Slider should always be aligned with the tick marks. This is honored even if the tick marks are not shown.
    • isSnapToTicks

      public final boolean isSnapToTicks()
      Gets the value of the property snapToTicks.
      Property description:
      Indicates whether the value of the Slider should always be aligned with the tick marks. This is honored even if the tick marks are not shown.
    • snapToTicksProperty

      public final BooleanProperty snapToTicksProperty()
      Indicates whether the value of the Slider should always be aligned with the tick marks. This is honored even if the tick marks are not shown.
      See Also:
      isSnapToTicks(), setSnapToTicks(boolean)
    • setLabelFormatter

      public final void setLabelFormatter​(StringConverter<Double> value)
      Sets the value of the property labelFormatter.
      Property description:
      A function for formatting the label for a major tick. The number representing the major tick will be passed to the function. If this function is not specified, then a default function will be used by the Skin implementation.
    • getLabelFormatter

      public final StringConverter<Double> getLabelFormatter()
      Gets the value of the property labelFormatter.
      Property description:
      A function for formatting the label for a major tick. The number representing the major tick will be passed to the function. If this function is not specified, then a default function will be used by the Skin implementation.
    • labelFormatterProperty

      public final ObjectProperty<StringConverter<Double>> labelFormatterProperty()
      A function for formatting the label for a major tick. The number representing the major tick will be passed to the function. If this function is not specified, then a default function will be used by the Skin implementation.
      See Also:
      getLabelFormatter(), setLabelFormatter(StringConverter)
    • setBlockIncrement

      public final void setBlockIncrement​(double value)
      Sets the value of the property blockIncrement.
      Property description:
      The amount by which to adjust the slider if the track of the slider is clicked. This is used when manipulating the slider position using keys. If snapToTicks is true then the nearest tick mark to the adjusted value will be used.
    • getBlockIncrement

      public final double getBlockIncrement()
      Gets the value of the property blockIncrement.
      Property description:
      The amount by which to adjust the slider if the track of the slider is clicked. This is used when manipulating the slider position using keys. If snapToTicks is true then the nearest tick mark to the adjusted value will be used.
    • blockIncrementProperty

      public final DoubleProperty blockIncrementProperty()
      The amount by which to adjust the slider if the track of the slider is clicked. This is used when manipulating the slider position using keys. If snapToTicks is true then the nearest tick mark to the adjusted value will be used.
      See Also:
      getBlockIncrement(), setBlockIncrement(double)
    • adjustValue

      public void adjustValue​(double newValue)
      Adjusts value to match newValue. The valueis the actual amount between the min and max. This function also takes into account snapToTicks, which is the main difference between adjustValue and setValue. It also ensures that the value is some valid number between min and max. Note: This function is intended to be used by experts, primarily by those implementing new Skins or Behaviors. It is not common for developers or designers to access this function directly.
      Parameters:
      newValue - the new adjusted value
    • increment

      public void increment()
      Increments the value by blockIncrement, bounded by max. If the max is less than or equal to the min, then this method does nothing.
    • decrement

      public void decrement()
      Decrements the value by blockIncrement, bounded by max. If the max is less than or equal to the min, then this method does nothing.
    • createDefaultSkin

      protected Skin<?> createDefaultSkin()
      Create a new instance of the default skin for this control. This is called to create a skin for the control if no skin is provided via CSS -fx-skin or set explicitly in a sub-class with setSkin(...).
      Overrides:
      createDefaultSkin in class Control
      Returns:
      new instance of default skin for this control. If null then the control will have no skin unless one is provided by css.
    • getClassCssMetaData

      public static List<CssMetaData<? extends Styleable,​?>> getClassCssMetaData()
      Returns:
      The CssMetaData associated with this class, which may include the CssMetaData of its superclasses.
      Since:
      JavaFX 8.0
    • getControlCssMetaData

      protected List<CssMetaData<? extends Styleable,​?>> getControlCssMetaData()
      Overrides:
      getControlCssMetaData in class Control
      Returns:
      unmodifiable list of the controls css styleable properties
      Since:
      JavaFX 8.0
    • queryAccessibleAttribute

      public Object queryAccessibleAttribute​(AccessibleAttribute attribute, Object... parameters)
      This method is called by the assistive technology to request the value for an attribute.

      This method is commonly overridden by subclasses to implement attributes that are required for a specific role.
      If a particular attribute is not handled, the superclass implementation must be called.

      Overrides:
      queryAccessibleAttribute in class Control
      Parameters:
      attribute - the requested attribute
      parameters - optional list of parameters
      Returns:
      the value for the requested attribute
      See Also:
      AccessibleAttribute
    • executeAccessibleAction

      public void executeAccessibleAction​(AccessibleAction action, Object... parameters)
      This method is called by the assistive technology to request the action indicated by the argument should be executed.

      This method is commonly overridden by subclasses to implement action that are required for a specific role.
      If a particular action is not handled, the superclass implementation must be called.

      Overrides:
      executeAccessibleAction in class Control
      Parameters:
      action - the action to execute
      parameters - optional list of parameters
      See Also:
      AccessibleAction