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 max property.
      Property description:
      The maximum value represented by this Slider. This must be a value greater than min.
      Parameters:
      value - the value for the max property
      See Also:
    • getMax

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

      public final DoubleProperty maxProperty()
      The maximum value represented by this Slider. This must be a value greater than min.
      Returns:
      the max property
      See Also:
    • setMin

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

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

      public final DoubleProperty minProperty()
      The minimum value represented by this Slider. This must be a value less than max.
      Returns:
      the min property
      See Also:
    • setValue

      public final void setValue(double value)
      Sets the value of the value property.
      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.
      Parameters:
      value - the value for the value property
      See Also:
    • getValue

      public final double getValue()
      Gets the value of the value property.
      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.
      Returns:
      the value of the value property
      See Also:
    • 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.
      Returns:
      the value property
      See Also:
    • setValueChanging

      public final void setValueChanging(boolean value)
      Sets the value of the valueChanging property.
      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.
      Parameters:
      value - the value for the valueChanging property
      See Also:
    • isValueChanging

      public final boolean isValueChanging()
      Gets the value of the valueChanging property.
      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.
      Returns:
      the value of the valueChanging property
      See Also:
    • 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.
      Returns:
      the valueChanging property
      See Also:
    • setOrientation

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

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

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

      public final void setShowTickLabels(boolean value)
      Sets the value of the showTickLabels property.
      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.
      Parameters:
      value - the value for the showTickLabels property
      See Also:
    • isShowTickLabels

      public final boolean isShowTickLabels()
      Gets the value of the showTickLabels property.
      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.
      Returns:
      the value of the showTickLabels property
      See Also:
    • 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.
      Returns:
      the showTickLabels property
      See Also:
    • setShowTickMarks

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

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

      public final BooleanProperty showTickMarksProperty()
      Specifies whether the Skin implementation should show tick marks.
      Returns:
      the showTickMarks property
      See Also:
    • setMajorTickUnit

      public final void setMajorTickUnit(double value)
      Sets the value of the majorTickUnit property.
      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.

      Parameters:
      value - the value for the majorTickUnit property
      See Also:
    • getMajorTickUnit

      public final double getMajorTickUnit()
      Gets the value of the majorTickUnit property.
      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.

      Returns:
      the value of the majorTickUnit property
      See Also:
    • 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.

      Returns:
      the majorTickUnit property
      See Also:
    • setMinorTickCount

      public final void setMinorTickCount(int value)
      Sets the value of the minorTickCount property.
      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.
      Parameters:
      value - the value for the minorTickCount property
      See Also:
    • getMinorTickCount

      public final int getMinorTickCount()
      Gets the value of the minorTickCount property.
      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.
      Returns:
      the value of the minorTickCount property
      See Also:
    • 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.
      Returns:
      the minorTickCount property
      See Also:
    • setSnapToTicks

      public final void setSnapToTicks(boolean value)
      Sets the value of the snapToTicks property.
      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.
      Parameters:
      value - the value for the snapToTicks property
      See Also:
    • isSnapToTicks

      public final boolean isSnapToTicks()
      Gets the value of the snapToTicks property.
      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.
      Returns:
      the value of the snapToTicks property
      See Also:
    • 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.
      Returns:
      the snapToTicks property
      See Also:
    • setLabelFormatter

      public final void setLabelFormatter(StringConverter<Double> value)
      Sets the value of the labelFormatter property.
      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.
      Parameters:
      value - the value for the labelFormatter property
      See Also:
    • getLabelFormatter

      public final StringConverter<Double> getLabelFormatter()
      Gets the value of the labelFormatter property.
      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.
      Returns:
      the value of the labelFormatter property
      See Also:
    • 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.
      Returns:
      the labelFormatter property
      See Also:
    • setBlockIncrement

      public final void setBlockIncrement(double value)
      Sets the value of the blockIncrement property.
      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.
      Parameters:
      value - the value for the blockIncrement property
      See Also:
    • getBlockIncrement

      public final double getBlockIncrement()
      Gets the value of the blockIncrement property.
      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.
      Returns:
      the value of the blockIncrement property
      See Also:
    • 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.
      Returns:
      the blockIncrement property
      See Also:
    • 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.
    • getClassCssMetaData

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

      protected List<CssMetaData<? extends Styleable,?>> getControlCssMetaData()
      Gets the unmodifiable list of the control's CSS-styleable properties.
      Overrides:
      getControlCssMetaData in class Control
      Returns:
      the unmodifiable list of the control's CSS-styleable properties
      Since:
      JavaFX 8.0