# Class SpinnerValueFactory.IntegerSpinnerValueFactory

java.lang.Object
javafx.scene.control.SpinnerValueFactory<Integer>
javafx.scene.control.SpinnerValueFactory.IntegerSpinnerValueFactory

Enclosing class:
  `SpinnerValueFactory<T>`

public static class SpinnerValueFactory.IntegerSpinnerValueFactory extends SpinnerValueFactory<Integer>
A `SpinnerValueFactory` implementation designed to iterate through integer values.

If `wrapAround` is `true`, the `IntegerSpinnerValueFactory` will step from the minimum value to the maximum value (and vice versa). As a consequence of that, the number of steps required to wrap around to the same value is `N+1`, where `N` is the number of steps between `min` (inclusive) and `max` (inclusive). The new value after a step is `val = (val + amountToStepBy) % (max - min + 1)`.

Note that the default `converter` is implemented as an `IntegerStringConverter` instance.

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

  Properties
  Type
  Property
  Description
  `final IntegerProperty`
  `amountToStepBy`
  Sets the amount to increment or decrement by, per step.
  `final IntegerProperty`
  `max`
  Sets the maximum allowable value for this value factory
  `final IntegerProperty`
  `min`
  Sets the minimum allowable value for this value factory

  ### Properties declared in class javafx.scene.control.SpinnerValueFactory

  `converter, value, wrapAround`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `IntegerSpinnerValueFactory(int min, int max)`
  Constructs a new IntegerSpinnerValueFactory that sets the initial value to be equal to the min value, and a default `amountToStepBy` of one.
  `IntegerSpinnerValueFactory(int min, int max, int initialValue)`
  Constructs a new IntegerSpinnerValueFactory with a default `amountToStepBy` of one.
  `IntegerSpinnerValueFactory(int min, int max, int initialValue, int amountToStepBy)`
  Constructs a new IntegerSpinnerValueFactory.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `final IntegerProperty`
  `amountToStepByProperty()`
  Sets the amount to increment or decrement by, per step.
  `void`
  `decrement(int steps)`
  Attempts to decrement the `value` by the given number of steps.
  `final int`
  `getAmountToStepBy()`
  Gets the value of the `amountToStepBy` property.
  `final int`
  `getMax()`
  Gets the value of the `max` property.
  `final int`
  `getMin()`
  Gets the value of the `min` property.
  `void`
  `increment(int steps)`
  Attempts to increment the `value` by the given number of steps.
  `final IntegerProperty`
  `maxProperty()`
  Sets the maximum allowable value for this value factory
  `final IntegerProperty`
  `minProperty()`
  Sets the minimum allowable value for this value factory
  `final void`
  `setAmountToStepBy(int value)`
  Sets the value of the `amountToStepBy` property.
  `final void`
  `setMax(int value)`
  Sets the value of the `max` property.
  `final void`
  `setMin(int value)`
  Sets the value of the `min` property.

  ### Methods declared in class javafx.scene.control.SpinnerValueFactory

  `converterProperty, getConverter, getValue, isWrapAround, setConverter, setValue, setWrapAround, valueProperty, wrapAroundProperty`

  ### Methods declared in class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Property Details

  - ### min

    public final IntegerProperty minProperty
    Sets the minimum allowable value for this value factory
    See Also:
      - `getMin()`
      - `setMin(int)`
      - `minProperty()`

  - ### max

    public final IntegerProperty maxProperty
    Sets the maximum allowable value for this value factory
    See Also:
      - `getMax()`
      - `setMax(int)`
      - `maxProperty()`

  - ### amountToStepBy

    public final IntegerProperty amountToStepByProperty
    Sets the amount to increment or decrement by, per step.
    See Also:
      - `getAmountToStepBy()`
      - `setAmountToStepBy(int)`
      - `amountToStepByProperty()`

- ## Constructor Details

  - ### IntegerSpinnerValueFactory

    public IntegerSpinnerValueFactory(int min, int max)
    Constructs a new IntegerSpinnerValueFactory that sets the initial value to be equal to the min value, and a default `amountToStepBy` of one.
    Parameters:
      `min` - The minimum allowed integer value for the Spinner.
      `max` - The maximum allowed integer value for the Spinner.

  - ### IntegerSpinnerValueFactory

    public IntegerSpinnerValueFactory(int min, int max, int initialValue)
    Constructs a new IntegerSpinnerValueFactory with a default `amountToStepBy` of one.
    Parameters:
      `min` - The minimum allowed integer value for the Spinner.
      `max` - The maximum allowed integer 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.

  - ### IntegerSpinnerValueFactory

    public IntegerSpinnerValueFactory(int min, int max, int initialValue, int amountToStepBy)
    Constructs a new IntegerSpinnerValueFactory.
    Parameters:
      `min` - The minimum allowed integer value for the Spinner.
      `max` - The maximum allowed integer 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(int value)
    Sets the value of the `min` property.
    Property description:
      Sets the minimum allowable value for this value factory
    Parameters:
      `value` - the value for the `min` property
    See Also:
      - `getMin()`
      - `minProperty()`

  - ### getMin

    public final int getMin()
    Gets the value of the `min` property.
    Property description:
      Sets the minimum allowable value for this value factory
    Returns:
      the value of the `min` property
    See Also:
      - `setMin(int)`
      - `minProperty()`

  - ### minProperty

    public final IntegerProperty minProperty()
    Sets the minimum allowable value for this value factory
    Returns:
      the minimum allowable value for this value factory
    See Also:
      - `getMin()`
      - `setMin(int)`

  - ### setMax

    public final void setMax(int value)
    Sets the value of the `max` property.
    Property description:
      Sets the maximum allowable value for this value factory
    Parameters:
      `value` - the value for the `max` property
    See Also:
      - `getMax()`
      - `maxProperty()`

  - ### getMax

    public final int getMax()
    Gets the value of the `max` property.
    Property description:
      Sets the maximum allowable value for this value factory
    Returns:
      the value of the `max` property
    See Also:
      - `setMax(int)`
      - `maxProperty()`

  - ### maxProperty

    public final IntegerProperty maxProperty()
    Sets the maximum allowable value for this value factory
    Returns:
      the maximum allowable value for this value factory
    See Also:
      - `getMax()`
      - `setMax(int)`

  - ### setAmountToStepBy

    public final void setAmountToStepBy(int value)
    Sets the value of the `amountToStepBy` property.
    Property description:
      Sets the amount to increment or decrement by, per step.
    Parameters:
      `value` - the value for the `amountToStepBy` property
    See Also:
      - `getAmountToStepBy()`
      - `amountToStepByProperty()`

  - ### getAmountToStepBy

    public final int getAmountToStepBy()
    Gets the value of the `amountToStepBy` property.
    Property description:
      Sets the amount to increment or decrement by, per step.
    Returns:
      the value of the `amountToStepBy` property
    See Also:
      - `setAmountToStepBy(int)`
      - `amountToStepByProperty()`

  - ### amountToStepByProperty

    public final IntegerProperty amountToStepByProperty()
    Sets the amount to increment or decrement by, per step.
    Returns:
      the amount to increment or decrement by, per step
    See Also:
      - `getAmountToStepBy()`
      - `setAmountToStepBy(int)`

  - ### decrement

    public void decrement(int steps)
    Attempts to decrement the `value` by the given number of steps.
    Specified by:
      `decrement` in class `SpinnerValueFactory<Integer>`
    Parameters:
      `steps` - The number of decrements that should be performed on the value. If the number is negative, the call is equivalent to calling `SpinnerValueFactory.increment(int)` with the absolute value of `steps`.

  - ### increment

    public void increment(int steps)
    Attempts to increment the `value` by the given number of steps.
    Specified by:
      `increment` in class `SpinnerValueFactory<Integer>`
    Parameters:
      `steps` - The number of increments that should be performed on the value. If the number is negative, the call is equivalent to calling `SpinnerValueFactory.decrement(int)` with the absolute number of `steps`.