T - The type of all values that can be iterated through in the Spinner.
            Common types include Integer and String.public class Spinner<T> extends Control
wrapping
 and simpler specification of 'infinite' data models (the
 SpinnerValueFactory, rather than using a
 ObservableList data model like many
 other JavaFX UI controls.
 A Spinner's sequence value is defined by its
 SpinnerValueFactory. The value factory
 can be specified as a constructor argument and changed with the
 value factory property. SpinnerValueFactory
 classes for some common types are provided with JavaFX, including:
 
 
SpinnerValueFactory.IntegerSpinnerValueFactorySpinnerValueFactory.DoubleSpinnerValueFactorySpinnerValueFactory.ListSpinnerValueFactoryA Spinner has a TextField child component that is responsible for displaying
 and potentially changing the current value of the
 Spinner, which is called the editor. By default the
 Spinner is non-editable, but input can be accepted if the
 editable property is set to true. The Spinner
 editor stays in sync with the value factory by listening for changes to the
 value property of the value factory.
 If the user has changed the value displayed in the editor it is possible for
 the Spinner value to differ from that of the editor.
 To make sure the model has the same value as the editor, the user must commit
 the edit using the Enter key.
SpinnerValueFactory| Type | Property and Description | 
|---|---|
| BooleanProperty | editableThe editable property is used to specify whether user input is able to
 be typed into the Spinner  editor. | 
| ReadOnlyObjectProperty<TextField> | editorThe editor used by the Spinner control. | 
| ObjectProperty<SpinnerValueFactory<T>> | valueFactoryThe value factory is the model behind the JavaFX Spinner control - without
 a value factory installed a Spinner is unusable. | 
| ReadOnlyObjectProperty<T> | valueThe value property on Spinner is a read-only property, as it is bound to
 the SpinnerValueFactory
  value property. | 
contextMenu, skin, tooltipbackground, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, widthneedsLayoutaccessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, nodeOrientation, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, onMouseDragEntered, onMouseDragExited, onMouseDragged, onMouseDragOver, onMouseDragReleased, onMouseEntered, onMouseExited, onMouseMoved, onMousePressed, onMouseReleased, onRotate, onRotationFinished, onRotationStarted, onScrollFinished, onScroll, onScrollStarted, onSwipeDown, onSwipeLeft, onSwipeRight, onSwipeUp, onTouchMoved, onTouchPressed, onTouchReleased, onTouchStationary, onZoomFinished, onZoom, onZoomStarted, opacity, parent, pickOnBounds, pressed, rotate, rotationAxis, scaleX, scaleY, scaleZ, scene, style, translateX, translateY, translateZ, visible| Modifier and Type | Field and Description | 
|---|---|
| static String | STYLE_CLASS_ARROWS_ON_LEFT_HORIZONTALThe arrows are placed on the left of the Spinner, pointing horizontally (i.e. | 
| static String | STYLE_CLASS_ARROWS_ON_LEFT_VERTICALThe arrows are placed on the left of the Spinner, pointing vertically (i.e. | 
| static String | STYLE_CLASS_ARROWS_ON_RIGHT_HORIZONTALThe arrows are placed on the right of the Spinner, pointing horizontally (i.e. | 
| static String | STYLE_CLASS_SPLIT_ARROWS_HORIZONTALThe decrement arrow is placed on the left of the Spinner, and the increment on the right. | 
| static String | STYLE_CLASS_SPLIT_ARROWS_VERTICALThe arrows are placed above and beneath the spinner, stretching to take the entire width. | 
USE_COMPUTED_SIZE, USE_PREF_SIZEBASELINE_OFFSET_SAME_AS_HEIGHT| Constructor and Description | 
|---|
| Spinner()Constructs a default Spinner instance, with the default 'spinner' style
 class and a non-editable editor. | 
| Spinner(double min,
       double max,
       double initialValue)Creates a Spinner instance with the
  value factoryset to be an instance
 ofSpinnerValueFactory.DoubleSpinnerValueFactory. | 
| Spinner(double min,
       double max,
       double initialValue,
       double amountToStepBy)Creates a Spinner instance with the
  value factoryset to be an instance
 ofSpinnerValueFactory.DoubleSpinnerValueFactory. | 
| Spinner(int min,
       int max,
       int initialValue)Creates a Spinner instance with the
  value factoryset to be an instance
 ofSpinnerValueFactory.IntegerSpinnerValueFactory. | 
| Spinner(int min,
       int max,
       int initialValue,
       int amountToStepBy)Creates a Spinner instance with the
  value factoryset to be an instance
 ofSpinnerValueFactory.IntegerSpinnerValueFactory. | 
| Spinner(ObservableList<T> items)Creates a Spinner instance with the
  value factoryset to be an instance
 ofSpinnerValueFactory.ListSpinnerValueFactory. | 
| Spinner(SpinnerValueFactory<T> valueFactory)Creates a Spinner instance with the given value factory set. | 
| Modifier and Type | Method and Description | 
|---|---|
| protected Skin<?> | createDefaultSkin()Create a new instance of the default skin for this control. | 
| void | decrement()Attempts to decrement the  value factoryby one step, by calling theSpinnerValueFactory.decrement(int)method with an argument of one. | 
| void | decrement(int steps)Attempts to decrement the  value factoryby the given number of steps, by calling theSpinnerValueFactory.decrement(int)method and forwarding the steps argument to it. | 
| BooleanProperty | editableProperty()The editable property is used to specify whether user input is able to
 be typed into the Spinner  editor. | 
| ReadOnlyObjectProperty<TextField> | editorProperty()The editor used by the Spinner control. | 
| 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. | 
| TextField | getEditor()Gets the value of the property editor. | 
| T | getValue()Gets the value of the property value. | 
| SpinnerValueFactory<T> | getValueFactory()Gets the value of the property valueFactory. | 
| void | increment()Attempts to increment the  value factoryby one step, by calling theSpinnerValueFactory.increment(int)method with an argument of one. | 
| void | increment(int steps)Attempts to increment the  value factoryby the given number of steps, by calling theSpinnerValueFactory.increment(int)method and forwarding the steps argument to it. | 
| boolean | isEditable()Gets the value of the property editable. | 
| Object | queryAccessibleAttribute(AccessibleAttribute attribute,
                        Object... parameters)*
 Accessibility handling                                                  *
                                                                         * | 
| void | setEditable(boolean value)Sets the value of the property editable. | 
| void | setValueFactory(SpinnerValueFactory<T> value)Sets the value of the property valueFactory. | 
| ObjectProperty<SpinnerValueFactory<T>> | valueFactoryProperty()The value factory is the model behind the JavaFX Spinner control - without
 a value factory installed a Spinner is unusable. | 
| ReadOnlyObjectProperty<T> | valueProperty()The value property on Spinner is a read-only property, as it is bound to
 the SpinnerValueFactory
  value property. | 
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, getBaselineOffset, getClassCssMetaData, getContextMenu, getControlCssMetaData, getCssMetaData, getSkin, getTooltip, isResizable, layoutChildren, setContextMenu, setSkin, setTooltip, skinProperty, tooltipPropertybackgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isScaleShape, isSnapToPixel, layoutInArea, layoutInArea, layoutInArea, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setHeight, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, setWidth, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapSize, snapSpace, snapToPixelProperty, widthPropertygetChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBoundsaccessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, visiblePropertypublic final ReadOnlyObjectProperty<T> valueProperty
value property. Should the
 value factory change, this value property
 will be unbound from the old value factory and bound to the new one.
 If developers wish to modify the value property, they may do so with code in the following form:
 
 Object newValue = ...;
 spinner.getValueFactory().setValue(newValue);
 getValue()public final ObjectProperty<SpinnerValueFactory<T>> valueFactoryProperty
value,Incrementing
         and decrementing the
         value, with one or more steps per call,Converting text input
         from the user (via the Spinner editor,objects to user-readable strings
         for display on screenpublic final BooleanProperty editableProperty
editor. If editable
 is true, user input will be received once the user types and presses
 the Enter key. At this point the input is passed to the
 SpinnerValueFactory converter
 StringConverter.fromString(String) method.
 The returned value from this call (of type T) is then sent to the
 SpinnerValueFactory.setValue(Object) method. If the value
 is valid, it will remain as the value. If it is invalid, the value factory
 will need to react accordingly and back out this change.isEditable(), 
setEditable(boolean)public final ReadOnlyObjectProperty<TextField> editorProperty
getEditor()public static final String STYLE_CLASS_ARROWS_ON_RIGHT_HORIZONTAL
public static final String STYLE_CLASS_ARROWS_ON_LEFT_VERTICAL
public static final String STYLE_CLASS_ARROWS_ON_LEFT_HORIZONTAL
public static final String STYLE_CLASS_SPLIT_ARROWS_VERTICAL
public static final String STYLE_CLASS_SPLIT_ARROWS_HORIZONTAL
public Spinner()
public Spinner(int min,
               int max,
               int initialValue)
value factory set to be an instance
 of SpinnerValueFactory.IntegerSpinnerValueFactory. Note that
 if this constructor is called, the only valid generic type for the
 Spinner instance is Integer, i.e. Spinner<Integer>.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.public Spinner(int min,
               int max,
               int initialValue,
               int amountToStepBy)
value factory set to be an instance
 of SpinnerValueFactory.IntegerSpinnerValueFactory. Note that
 if this constructor is called, the only valid generic type for the
 Spinner instance is Integer, i.e. Spinner<Integer>.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.public Spinner(double min,
               double max,
               double initialValue)
value factory set to be an instance
 of SpinnerValueFactory.DoubleSpinnerValueFactory. Note that
 if this constructor is called, the only valid generic type for the
 Spinner instance is Double, i.e. Spinner<Double>.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.public Spinner(double min,
               double max,
               double initialValue,
               double amountToStepBy)
value factory set to be an instance
 of SpinnerValueFactory.DoubleSpinnerValueFactory. Note that
 if this constructor is called, the only valid generic type for the
 Spinner instance is Double, i.e. Spinner<Double>.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.public Spinner(ObservableList<T> items)
value factory set to be an instance
 of SpinnerValueFactory.ListSpinnerValueFactory. The
 Spinner value property will be set to the first
 element of the list, if an element exists, or null otherwise.items - A list of items that will be stepped through in the Spinner.public Spinner(SpinnerValueFactory<T> valueFactory)
valueFactory - The value factory to use.public void increment()
value factory
 by one step, by calling the SpinnerValueFactory.increment(int)
 method with an argument of one. If the value factory is null, an
 IllegalStateException is thrown.IllegalStateException - if the value factory returned by
      calling getValueFactory() is null.public void increment(int steps)
value factory
 by the given number of steps, by calling the
 SpinnerValueFactory.increment(int)
 method and forwarding the steps argument to it. If the value factory is
 null, an IllegalStateException is thrown.steps - The number of increments that should be performed on the value.IllegalStateException - if the value factory returned by
      calling getValueFactory() is null.public void decrement()
value factory
 by one step, by calling the SpinnerValueFactory.decrement(int)
 method with an argument of one. If the value factory is null, an
 IllegalStateException is thrown.IllegalStateException - if the value factory returned by
      calling getValueFactory() is null.public void decrement(int steps)
value factory
 by the given number of steps, by calling the
 SpinnerValueFactory.decrement(int)
 method and forwarding the steps argument to it. If the value factory is
 null, an IllegalStateException is thrown.steps - The number of decrements that should be performed on the value.IllegalStateException - if the value factory returned by
      calling getValueFactory() is null.protected Skin<?> createDefaultSkin()
-fx-skin or set explicitly in a sub-class with setSkin(...).createDefaultSkin in class Controlpublic final T getValue()
value property. Should the
 value factory change, this value property
 will be unbound from the old value factory and bound to the new one.
 If developers wish to modify the value property, they may do so with code in the following form:
 
 Object newValue = ...;
 spinner.getValueFactory().setValue(newValue);
 public final ReadOnlyObjectProperty<T> valueProperty()
value property. Should the
 value factory change, this value property
 will be unbound from the old value factory and bound to the new one.
 If developers wish to modify the value property, they may do so with code in the following form:
 
 Object newValue = ...;
 spinner.getValueFactory().setValue(newValue);
 getValue()public final void setValueFactory(SpinnerValueFactory<T> value)
value,Incrementing
         and decrementing the
         value, with one or more steps per call,Converting text input
         from the user (via the Spinner editor,objects to user-readable strings
         for display on screenpublic final SpinnerValueFactory<T> getValueFactory()
value,Incrementing
         and decrementing the
         value, with one or more steps per call,Converting text input
         from the user (via the Spinner editor,objects to user-readable strings
         for display on screenpublic final ObjectProperty<SpinnerValueFactory<T>> valueFactoryProperty()
value,Incrementing
         and decrementing the
         value, with one or more steps per call,Converting text input
         from the user (via the Spinner editor,objects to user-readable strings
         for display on screenpublic final void setEditable(boolean value)
editor. If editable
 is true, user input will be received once the user types and presses
 the Enter key. At this point the input is passed to the
 SpinnerValueFactory converter
 StringConverter.fromString(String) method.
 The returned value from this call (of type T) is then sent to the
 SpinnerValueFactory.setValue(Object) method. If the value
 is valid, it will remain as the value. If it is invalid, the value factory
 will need to react accordingly and back out this change.public final boolean isEditable()
editor. If editable
 is true, user input will be received once the user types and presses
 the Enter key. At this point the input is passed to the
 SpinnerValueFactory converter
 StringConverter.fromString(String) method.
 The returned value from this call (of type T) is then sent to the
 SpinnerValueFactory.setValue(Object) method. If the value
 is valid, it will remain as the value. If it is invalid, the value factory
 will need to react accordingly and back out this change.public final BooleanProperty editableProperty()
editor. If editable
 is true, user input will be received once the user types and presses
 the Enter key. At this point the input is passed to the
 SpinnerValueFactory converter
 StringConverter.fromString(String) method.
 The returned value from this call (of type T) is then sent to the
 SpinnerValueFactory.setValue(Object) method. If the value
 is valid, it will remain as the value. If it is invalid, the value factory
 will need to react accordingly and back out this change.isEditable(), 
setEditable(boolean)public final ReadOnlyObjectProperty<TextField> editorProperty()
getEditor()public final TextField getEditor()
public Object queryAccessibleAttribute(AccessibleAttribute attribute, Object... parameters)
queryAccessibleAttribute in class Controlattribute - the requested attributeparameters - optional list of parametersAccessibleAttributepublic void executeAccessibleAction(AccessibleAction action, Object... parameters)
Node
 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 super class implementation
 must be called.
 
executeAccessibleAction in class Controlaction - the action to executeparameters - optional list of parametersAccessibleActionCopyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.