Class SpinnerValueFactory.DoubleSpinnerValueFactory
java.lang.Object
javafx.scene.control.SpinnerValueFactory<Double>
javafx.scene.control.SpinnerValueFactory.DoubleSpinnerValueFactory
- Enclosing class:
SpinnerValueFactory<T>
public static class SpinnerValueFactory.DoubleSpinnerValueFactory
extends SpinnerValueFactory<Double>
A
SpinnerValueFactory
implementation designed to iterate through
double values.
If wrapAround
is true
, the
DoubleSpinnerValueFactory
will step through from the maximum value to the minimum value seamlessly; that
is, any step up from the maximum value is equal to the same step up from the minimum value (and vice versa).
The new value after a step is val = (val + amountToStepBy) % (max - min)
.
Note that the default converter
is implemented
simply as shown below, which may be adequate in many cases, but it is important
for users to ensure that this suits their needs (and adjust when necessary). The
main point to note is that this StringConverter
embeds
within it a DecimalFormat
instance that shows the Double
to two decimal places. This is used for both the toString and fromString
methods:
setConverter(new StringConverter<Double>() { private final DecimalFormat df = new DecimalFormat("#.##"); @Override public String toString(Double value) { // If the specified value is null, return a zero-length String if (value == null) { return ""; } return df.format(value); } @Override public Double fromString(String value) { try { // If the specified value is null or zero-length, return null if (value == null) { return null; } value = value.trim(); if (value.length() < 1) { return null; } // Perform the requested parsing return df.parse(value).doubleValue(); } catch (ParseException ex) { throw new RuntimeException(ex); } } });
- Since:
- JavaFX 8u40
-
Nested Class Summary
Nested classes/interfaces declared in class javafx.scene.control.SpinnerValueFactory
SpinnerValueFactory.DoubleSpinnerValueFactory, SpinnerValueFactory.IntegerSpinnerValueFactory, SpinnerValueFactory.ListSpinnerValueFactory<T>
-
Property Summary
TypePropertyDescriptionfinal DoubleProperty
Sets the amount to increment or decrement by, per step.final DoubleProperty
Sets the maximum allowable value for this value factoryfinal DoubleProperty
Sets the minimum allowable value for this value factoryProperties declared in class javafx.scene.control.SpinnerValueFactory
converter, value, wrapAround
-
Constructor Summary
ConstructorDescriptionDoubleSpinnerValueFactory
(double min, double max) Constructs a new DoubleSpinnerValueFactory that sets the initial value to be equal to the min value, and a defaultamountToStepBy
of one.DoubleSpinnerValueFactory
(double min, double max, double initialValue) Constructs a new DoubleSpinnerValueFactory with a defaultamountToStepBy
of one.DoubleSpinnerValueFactory
(double min, double max, double initialValue, double amountToStepBy) Constructs a new DoubleSpinnerValueFactory. -
Method Summary
Modifier and TypeMethodDescriptionfinal DoubleProperty
Sets the amount to increment or decrement by, per step.void
decrement
(int steps) Attempts to decrement thevalue
by the given number of steps.final double
Gets the value of theamountToStepBy
property.final double
getMax()
Gets the value of themax
property.final double
getMin()
Gets the value of themin
property.void
increment
(int steps) Attempts to increment thevalue
by the given number of steps.final DoubleProperty
Sets the maximum allowable value for this value factoryfinal DoubleProperty
Sets the minimum allowable value for this value factoryfinal void
setAmountToStepBy
(double value) Sets the value of theamountToStepBy
property.final void
setMax
(double value) Sets the value of themax
property.final void
setMin
(double value) Sets the value of themin
property.Methods declared in class javafx.scene.control.SpinnerValueFactory
converterProperty, getConverter, getValue, isWrapAround, setConverter, setValue, setWrapAround, valueProperty, wrapAroundProperty
-
Property Details
-
min
Sets the minimum allowable value for this value factory- See Also:
-
max
Sets the maximum allowable value for this value factory- See Also:
-
amountToStepBy
Sets the amount to increment or decrement by, per step.- See Also:
-
-
Constructor Details
-
DoubleSpinnerValueFactory
public DoubleSpinnerValueFactory(double min, double max) Constructs a new DoubleSpinnerValueFactory that sets the initial value to be equal to the min value, and a defaultamountToStepBy
of one.- Parameters:
min
- The minimum allowed double value for the Spinner.max
- The maximum allowed double value for the Spinner.
-
DoubleSpinnerValueFactory
public DoubleSpinnerValueFactory(double min, double max, double initialValue) Constructs a new DoubleSpinnerValueFactory with a defaultamountToStepBy
of one.- Parameters:
min
- The minimum allowed double value for the Spinner.max
- The maximum allowed double value for the Spinner.initialValue
- The value of the Spinner when first instantiated, must be within the bounds of the min and max arguments, or else the min value will be used.
-
DoubleSpinnerValueFactory
public DoubleSpinnerValueFactory(double min, double max, double initialValue, double amountToStepBy) Constructs a new DoubleSpinnerValueFactory.- Parameters:
min
- The minimum allowed double value for the Spinner.max
- The maximum allowed double value for the Spinner.initialValue
- The value of the Spinner when first instantiated, must be within the bounds of the min and max arguments, or else the min value will be used.amountToStepBy
- The amount to increment or decrement by, per step.
-
-
Method Details
-
setMin
public final void setMin(double value) Sets the value of themin
property.- Property description:
- Sets the minimum allowable value for this value factory
- Parameters:
value
- the value for themin
property- See Also:
-
getMin
public final double getMin()Gets the value of themin
property.- Property description:
- Sets the minimum allowable value for this value factory
- Returns:
- the value of the
min
property - See Also:
-
minProperty
Sets the minimum allowable value for this value factory- Returns:
- the minimum allowable value for this value factory
- See Also:
-
setMax
public final void setMax(double value) Sets the value of themax
property.- Property description:
- Sets the maximum allowable value for this value factory
- Parameters:
value
- the value for themax
property- See Also:
-
getMax
public final double getMax()Gets the value of themax
property.- Property description:
- Sets the maximum allowable value for this value factory
- Returns:
- the value of the
max
property - See Also:
-
maxProperty
Sets the maximum allowable value for this value factory- Returns:
- the maximum allowable value for this value factory
- See Also:
-
setAmountToStepBy
public final void setAmountToStepBy(double value) Sets the value of theamountToStepBy
property.- Property description:
- Sets the amount to increment or decrement by, per step.
- Parameters:
value
- the value for theamountToStepBy
property- See Also:
-
getAmountToStepBy
public final double getAmountToStepBy()Gets the value of theamountToStepBy
property.- Property description:
- Sets the amount to increment or decrement by, per step.
- Returns:
- the value of the
amountToStepBy
property - See Also:
-
amountToStepByProperty
Sets the amount to increment or decrement by, per step.- Returns:
- the amount to increment or decrement by, per step
- See Also:
-
decrement
public void decrement(int steps) Attempts to decrement thevalue
by the given number of steps.- Specified by:
decrement
in classSpinnerValueFactory<Double>
- Parameters:
steps
- The number of decrements that should be performed on the value. If the number is negative, the call is equivalent to callingSpinnerValueFactory.increment(int)
with the absolute value ofsteps
.
-
increment
public void increment(int steps) Attempts to increment thevalue
by the given number of steps.- Specified by:
increment
in classSpinnerValueFactory<Double>
- Parameters:
steps
- The number of increments that should be performed on the value. If the number is negative, the call is equivalent to callingSpinnerValueFactory.decrement(int)
with the absolute number ofsteps
.
-