Class Spinner<T>
- javafx.scene.Node
-
- javafx.scene.Parent
-
- javafx.scene.layout.Region
-
- javafx.scene.control.Control
-
- javafx.scene.control.Spinner<T>
Type Parameters:
T - The type of all values that can be iterated through in the Spinner. Common types include Integer and String.
All Implemented Interfaces:
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.ListSpinnerValueFactory
A 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.
Since:
JavaFX 8u40
See Also:
-
Property Summary
All MethodsInstance MethodsConcrete Methods Type Property and Description BooleanPropertyeditableThe editable property is used to specify whether user input is able to be typed into the Spinnereditor.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 SpinnerValueFactoryvalue property.-
Properties inherited from class javafx.scene.control.Control
contextMenu, skin, tooltip
-
Properties inherited from class javafx.scene.layout.Region
background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, width
-
Properties inherited from class javafx.scene.Parent
needsLayout
-
Properties inherited from class javafx.scene.Node
accessibleHelp, 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
-
-
Field Summary
Fields Modifier and Type Field and Description static StringSTYLE_CLASS_ARROWS_ON_LEFT_HORIZONTALThe arrows are placed on the left of the Spinner, pointing horizontally (i.e.static StringSTYLE_CLASS_ARROWS_ON_LEFT_VERTICALThe arrows are placed on the left of the Spinner, pointing vertically (i.e.static StringSTYLE_CLASS_ARROWS_ON_RIGHT_HORIZONTALThe arrows are placed on the right of the Spinner, pointing horizontally (i.e.static StringSTYLE_CLASS_SPLIT_ARROWS_HORIZONTALThe decrement arrow is placed on the left of the Spinner, and the increment on the right.static StringSTYLE_CLASS_SPLIT_ARROWS_VERTICALThe arrows are placed above and beneath the spinner, stretching to take the entire width.-
Fields inherited from class javafx.scene.layout.Region
USE_COMPUTED_SIZE, USE_PREF_SIZE
-
Fields inherited from class javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
-
-
Constructor Summary
Constructors 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 thevalue factoryset to be an instance ofSpinnerValueFactory.DoubleSpinnerValueFactory.Spinner(double min, double max, double initialValue, double amountToStepBy)Creates a Spinner instance with thevalue factoryset to be an instance ofSpinnerValueFactory.DoubleSpinnerValueFactory.Spinner(int min, int max, int initialValue)Creates a Spinner instance with thevalue factoryset to be an instance ofSpinnerValueFactory.IntegerSpinnerValueFactory.Spinner(int min, int max, int initialValue, int amountToStepBy)Creates a Spinner instance with thevalue factoryset to be an instance ofSpinnerValueFactory.IntegerSpinnerValueFactory.Spinner(ObservableList<T> items)Creates a Spinner instance with thevalue factoryset to be an instance ofSpinnerValueFactory.ListSpinnerValueFactory.Spinner(SpinnerValueFactory<T> valueFactory)Creates a Spinner instance with the given value factory set.
-
Method Summary
All MethodsInstance MethodsConcrete Methods Modifier and Type Method and Description protected Skin<?>createDefaultSkin()Create a new instance of the default skin for this control.voiddecrement()Attempts to decrement thevalue factoryby one step, by calling theSpinnerValueFactory.decrement(int)method with an argument of one.voiddecrement(int steps)Attempts to decrement thevalue factoryby the given number of steps, by calling theSpinnerValueFactory.decrement(int)method and forwarding the steps argument to it.BooleanPropertyeditableProperty()The editable property is used to specify whether user input is able to be typed into the Spinnereditor.ReadOnlyObjectProperty<TextField>editorProperty()The editor used by the Spinner control.voidexecuteAccessibleAction(AccessibleAction action, Object... parameters)This method is called by the assistive technology to request the action indicated by the argument should be executed.TextFieldgetEditor()Gets the value of the property editor.TgetValue()Gets the value of the property value.SpinnerValueFactory<T>getValueFactory()Gets the value of the property valueFactory.voidincrement()Attempts to increment thevalue factoryby one step, by calling theSpinnerValueFactory.increment(int)method with an argument of one.voidincrement(int steps)Attempts to increment thevalue factoryby the given number of steps, by calling theSpinnerValueFactory.increment(int)method and forwarding the steps argument to it.booleanisEditable()Gets the value of the property editable.ObjectqueryAccessibleAttribute(AccessibleAttribute attribute, Object... parameters)* Accessibility handling * *voidsetEditable(boolean value)Sets the value of the property editable.voidsetValueFactory(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 SpinnerValueFactoryvalue property.-
Methods inherited from class javafx.scene.control.Control
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, getBaselineOffset, getClassCssMetaData, getContextMenu, getControlCssMetaData, getCssMetaData, getSkin, getTooltip, isResizable, layoutChildren, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty
-
Methods inherited from class javafx.scene.layout.Region
backgroundProperty, 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, widthProperty
-
Methods inherited from class javafx.scene.Parent
getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
-
Methods inherited from class javafx.scene.Node
accessibleHelpProperty, 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, visibleProperty
-
-
Property Detail
-
value
public final ReadOnlyObjectProperty<T> valueProperty
The value property on Spinner is a read-only property, as it is bound to the SpinnerValueFactoryvalue property. Should thevalue factorychange, 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);
See Also:
-
valueFactory
public final ObjectProperty<SpinnerValueFactory<T>> valueFactoryProperty
The value factory is the model behind the JavaFX Spinner control - without a value factory installed a Spinner is unusable. It is the role of the value factory to handle almost all aspects of the Spinner, including:- Representing the current state of the
value, -
Incrementinganddecrementingthe value, with one or more steps per call, -
Convertingtext input from the user (via the Spinnereditor, - Converting
objects to user-readable stringsfor display on screen
- Representing the current state of the
-
editable
public final BooleanProperty editableProperty
The editable property is used to specify whether user input is able to be typed into the Spinnereditor. 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 SpinnerValueFactoryconverterStringConverter.fromString(String)method. The returned value from this call (of type T) is then sent to theSpinnerValueFactory.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.See Also:
-
editor
public final ReadOnlyObjectProperty<TextField> editorProperty
The editor used by the Spinner control.See Also:
-
-
Field Detail
-
STYLE_CLASS_ARROWS_ON_RIGHT_HORIZONTAL
public static final String STYLE_CLASS_ARROWS_ON_RIGHT_HORIZONTAL
The arrows are placed on the right of the Spinner, pointing horizontally (i.e. left and right).See Also:
-
STYLE_CLASS_ARROWS_ON_LEFT_VERTICAL
public static final String STYLE_CLASS_ARROWS_ON_LEFT_VERTICAL
The arrows are placed on the left of the Spinner, pointing vertically (i.e. up and down).See Also:
-
STYLE_CLASS_ARROWS_ON_LEFT_HORIZONTAL
public static final String STYLE_CLASS_ARROWS_ON_LEFT_HORIZONTAL
The arrows are placed on the left of the Spinner, pointing horizontally (i.e. left and right).See Also:
-
STYLE_CLASS_SPLIT_ARROWS_VERTICAL
public static final String STYLE_CLASS_SPLIT_ARROWS_VERTICAL
The arrows are placed above and beneath the spinner, stretching to take the entire width.See Also:
-
STYLE_CLASS_SPLIT_ARROWS_HORIZONTAL
public static final String STYLE_CLASS_SPLIT_ARROWS_HORIZONTAL
The decrement arrow is placed on the left of the Spinner, and the increment on the right.See Also:
-
-
Constructor Detail
-
Spinner
public Spinner()
Constructs a default Spinner instance, with the default 'spinner' style class and a non-editable editor.
-
Spinner
public Spinner(int min, int max, int initialValue)Creates a Spinner instance with thevalue factoryset to be an instance ofSpinnerValueFactory.IntegerSpinnerValueFactory. Note that if this constructor is called, the only valid generic type for the Spinner instance is Integer, i.e. Spinner<Integer>.Parameters:
min- The minimum allowed integer value for the Spinner.
-
Spinner
public Spinner(int min, int max, int initialValue, int amountToStepBy)Creates a Spinner instance with thevalue factoryset to be an instance ofSpinnerValueFactory.IntegerSpinnerValueFactory. Note that if this constructor is called, the only valid generic type for the Spinner instance is Integer, i.e. Spinner<Integer>.Parameters:
min- The minimum allowed integer value for the Spinner.
-
Spinner
public Spinner(double min, double max, double initialValue)Creates a Spinner instance with thevalue factoryset to be an instance ofSpinnerValueFactory.DoubleSpinnerValueFactory. Note that if this constructor is called, the only valid generic type for the Spinner instance is Double, i.e. Spinner<Double>.Parameters:
min- The minimum allowed double value for the Spinner.
-
Spinner
public Spinner(double min, double max, double initialValue, double amountToStepBy)Creates a Spinner instance with thevalue factoryset to be an instance ofSpinnerValueFactory.DoubleSpinnerValueFactory. Note that if this constructor is called, the only valid generic type for the Spinner instance is Double, i.e. Spinner<Double>.Parameters:
min- The minimum allowed double value for the Spinner.
-
Spinner
public Spinner(ObservableList<T> items)
Creates a Spinner instance with thevalue factoryset to be an instance ofSpinnerValueFactory.ListSpinnerValueFactory. The Spinnervalue propertywill be set to the first element of the list, if an element exists, or null otherwise.Parameters:
items- A list of items that will be stepped through in the Spinner.
-
Spinner
public Spinner(SpinnerValueFactory<T> valueFactory)
Creates a Spinner instance with the given value factory set.Parameters:
valueFactory- Thevalue factoryto use.
-
-
Method Detail
-
increment
public void increment()
Attempts to increment thevalue factoryby one step, by calling theSpinnerValueFactory.increment(int)method with an argument of one. If the value factory is null, an IllegalStateException is thrown.Throws:
IllegalStateException- if the value factory returned by callinggetValueFactory()is null.
-
increment
public void increment(int steps)
Attempts to increment thevalue factoryby the given number of steps, by calling theSpinnerValueFactory.increment(int)method and forwarding the steps argument to it. If the value factory is null, an IllegalStateException is thrown.Parameters:
steps- The number of increments that should be performed on the value.Throws:
IllegalStateException- if the value factory returned by callinggetValueFactory()is null.
-
decrement
public void decrement()
Attempts to decrement thevalue factoryby one step, by calling theSpinnerValueFactory.decrement(int)method with an argument of one. If the value factory is null, an IllegalStateException is thrown.Throws:
IllegalStateException- if the value factory returned by callinggetValueFactory()is null.
-
decrement
public void decrement(int steps)
Attempts to decrement thevalue factoryby the given number of steps, by calling theSpinnerValueFactory.decrement(int)method and forwarding the steps argument to it. If the value factory is null, an IllegalStateException is thrown.Parameters:
steps- The number of decrements that should be performed on the value.Throws:
IllegalStateException- if the value factory returned by callinggetValueFactory()is null.
-
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-skinor set explicitly in a sub-class withsetSkin(...).Overrides:
createDefaultSkinin classControlReturns:
new instance of default skin for this control. If null then the control will have no skin unless one is provided by css.
-
getValue
public final T getValue()
Gets the value of the property value.Property description:
The value property on Spinner is a read-only property, as it is bound to the SpinnerValueFactory
value property. Should thevalue factorychange, 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);
-
valueProperty
public final ReadOnlyObjectProperty<T> valueProperty()
The value property on Spinner is a read-only property, as it is bound to the SpinnerValueFactoryvalue property. Should thevalue factorychange, 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);
See Also:
-
setValueFactory
public final void setValueFactory(SpinnerValueFactory<T> value)
Sets the value of the property valueFactory.Property description:
The value factory is the model behind the JavaFX Spinner control - without a value factory installed a Spinner is unusable. It is the role of the value factory to handle almost all aspects of the Spinner, including:
- Representing the current state of the
value, -
Incrementinganddecrementingthe value, with one or more steps per call, -
Convertingtext input from the user (via the Spinnereditor, - Converting
objects to user-readable stringsfor display on screen
- Representing the current state of the
-
getValueFactory
public final SpinnerValueFactory<T> getValueFactory()
Gets the value of the property valueFactory.Property description:
The value factory is the model behind the JavaFX Spinner control - without a value factory installed a Spinner is unusable. It is the role of the value factory to handle almost all aspects of the Spinner, including:
- Representing the current state of the
value, -
Incrementinganddecrementingthe value, with one or more steps per call, -
Convertingtext input from the user (via the Spinnereditor, - Converting
objects to user-readable stringsfor display on screen
- Representing the current state of the
-
valueFactoryProperty
public final ObjectProperty<SpinnerValueFactory<T>> valueFactoryProperty()
The value factory is the model behind the JavaFX Spinner control - without a value factory installed a Spinner is unusable. It is the role of the value factory to handle almost all aspects of the Spinner, including:- Representing the current state of the
value, -
Incrementinganddecrementingthe value, with one or more steps per call, -
Convertingtext input from the user (via the Spinnereditor, - Converting
objects to user-readable stringsfor display on screen
- Representing the current state of the
-
setEditable
public final void setEditable(boolean value)
Sets the value of the property editable.Property description:
The editable property is used to specify whether user input is able to be typed into the Spinner
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 SpinnerValueFactoryconverterStringConverter.fromString(String)method. The returned value from this call (of type T) is then sent to theSpinnerValueFactory.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
public final boolean isEditable()
Gets the value of the property editable.Property description:
The editable property is used to specify whether user input is able to be typed into the Spinner
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 SpinnerValueFactoryconverterStringConverter.fromString(String)method. The returned value from this call (of type T) is then sent to theSpinnerValueFactory.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.
-
editableProperty
public final BooleanProperty editableProperty()
The editable property is used to specify whether user input is able to be typed into the Spinnereditor. 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 SpinnerValueFactoryconverterStringConverter.fromString(String)method. The returned value from this call (of type T) is then sent to theSpinnerValueFactory.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.See Also:
-
editorProperty
public final ReadOnlyObjectProperty<TextField> editorProperty()
The editor used by the Spinner control.See Also:
-
getEditor
public final TextField getEditor()
Gets the value of the property editor.Property description:
The editor used by the Spinner control.
-
queryAccessibleAttribute
public Object queryAccessibleAttribute(AccessibleAttribute attribute, Object... parameters)* Accessibility handling * *Overrides:
queryAccessibleAttributein classControlParameters:
attribute- the requested attributeReturns:
the value for the requested attribute
See Also:
-
executeAccessibleAction
public void executeAccessibleAction(AccessibleAction action, Object... parameters)Description copied from class:NodeThis 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 super class implementation must be called.Overrides:
executeAccessibleActionin classControlParameters:
action- the action to executeSee Also:
-
© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.