Spec-Zone.ru › OpenJavaFX 11
Module javafx.controls
Package javafx.scene.control

Class Spinner<T>

  • java.lang.Object
    • 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:
    Styleable, EventTarget, Skinnable
    public class Spinner<T>
    extends Control
    A single line text field that lets the user select a number or an object value from an ordered sequence. Spinners typically provide a pair of tiny arrow buttons for stepping through the elements of the sequence. The keyboard up/down arrow keys also cycle through the elements. The user may also be allowed to type a (legal) value directly into the spinner. Although combo boxes provide similar functionality, spinners are sometimes preferred because they don't require a drop down list that can obscure important data, and also because they allow for features such as 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.IntegerSpinnerValueFactory
    • SpinnerValueFactory.DoubleSpinnerValueFactory
    • SpinnerValueFactory.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:
    SpinnerValueFactory
  • Property Summary

    Properties
    Type Property Description
    BooleanProperty editable
    The editable property is used to specify whether user input is able to be typed into the Spinner editor.
    ReadOnlyObjectProperty<TextField> editor
    The editor used by the Spinner control.
    ObjectProperty<Duration> initialDelay
    The duration that the mouse has to be pressed on an arrow button before the next value steps.
    StringProperty promptText
    The prompt text to display in the Spinner, or null if no prompt text is displayed.
    ObjectProperty<Duration> repeatDelay
    The duration that the mouse has to be pressed for each successive step after the first value steps.
    ObjectProperty<SpinnerValueFactory<T>> valueFactory
    The value factory is the model behind the JavaFX Spinner control - without a value factory installed a Spinner is unusable.
    ReadOnlyObjectProperty<T> value
    The value property on Spinner is a read-only property, as it is bound to the SpinnerValueFactory value 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, viewOrder, visible
  • Field Summary

    Fields
    Modifier and Type Field Description
    static String STYLE_CLASS_ARROWS_ON_LEFT_HORIZONTAL
    The arrows are placed on the left of the Spinner, pointing horizontally (i.e.
    static String STYLE_CLASS_ARROWS_ON_LEFT_VERTICAL
    The arrows are placed on the left of the Spinner, pointing vertically (i.e.
    static String STYLE_CLASS_ARROWS_ON_RIGHT_HORIZONTAL
    The arrows are placed on the right of the Spinner, pointing horizontally (i.e.
    static String STYLE_CLASS_SPLIT_ARROWS_HORIZONTAL
    The decrement arrow is placed on the left of the Spinner, and the increment on the right.
    static String STYLE_CLASS_SPLIT_ARROWS_VERTICAL
    The 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 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 factory set to be an instance of SpinnerValueFactory.DoubleSpinnerValueFactory.
    Spinner​(double min, double max, double initialValue, double amountToStepBy)
    Creates a Spinner instance with the value factory set to be an instance of SpinnerValueFactory.DoubleSpinnerValueFactory.
    Spinner​(int min, int max, int initialValue)
    Creates a Spinner instance with the value factory set to be an instance of SpinnerValueFactory.IntegerSpinnerValueFactory.
    Spinner​(int min, int max, int initialValue, int amountToStepBy)
    Creates a Spinner instance with the value factory set to be an instance of SpinnerValueFactory.IntegerSpinnerValueFactory.
    Spinner​(ObservableList<T> items)
    Creates a Spinner instance with the value factory set to be an instance of SpinnerValueFactory.ListSpinnerValueFactory.
    Spinner​(SpinnerValueFactory<T> valueFactory)
    Creates a Spinner instance with the given value factory set.
  • Method Summary

    All MethodsStatic MethodsInstance MethodsConcrete Methods
    Modifier and Type Method Description
    void cancelEdit()
    If the Spinner is editable, calling this method will attempt to replace the editor text with the last committed value.
    void commitValue()
    If the Spinner is editable, calling this method will attempt to commit the current text and convert it to a value.
    protected Skin<?> createDefaultSkin()
    Create a new instance of the default skin for this control.
    void decrement()
    Attempts to decrement the value factory by one step, by calling the SpinnerValueFactory.decrement(int) method with an argument of one.
    void decrement​(int steps)
    Attempts to decrement the value factory by the given number of steps, by calling the SpinnerValueFactory.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.
    static List<CssMetaData<? extends Styleable,​?>> getClassCssMetaData()
    List<CssMetaData<? extends Styleable,​?>> getControlCssMetaData()
    TextField getEditor()
    Gets the value of the property editor.
    Duration getInitialDelay()
    Gets the value of the property initialDelay.
    String getPromptText()
    Gets the value of the property promptText.
    Duration getRepeatDelay()
    Gets the value of the property repeatDelay.
    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 factory by one step, by calling the SpinnerValueFactory.increment(int) method with an argument of one.
    void increment​(int steps)
    Attempts to increment the value factory by the given number of steps, by calling the SpinnerValueFactory.increment(int) method and forwarding the steps argument to it.
    ObjectProperty<Duration> initialDelayProperty()
    The duration that the mouse has to be pressed on an arrow button before the next value steps.
    boolean isEditable()
    Gets the value of the property editable.
    StringProperty promptTextProperty()
    The prompt text to display in the Spinner, or null if no prompt text is displayed.
    Object queryAccessibleAttribute​(AccessibleAttribute attribute, Object... parameters)
    This method is called by the assistive technology to request the value for an attribute.
    ObjectProperty<Duration> repeatDelayProperty()
    The duration that the mouse has to be pressed for each successive step after the first value steps.
    void setEditable​(boolean value)
    Sets the value of the property editable.
    void setInitialDelay​(Duration value)
    Sets the value of the property initialDelay.
    void setPromptText​(String value)
    Sets the value of the property promptText.
    void setRepeatDelay​(Duration value)
    Sets the value of the property repeatDelay.
    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.
    • Methods inherited from class javafx.scene.control.Control

      computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, getBaselineOffset, getContextMenu, getCssMetaData, getInitialFocusTraversable, 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, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, 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, getInitialCursor, 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, getViewOrder, 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, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty
    • Methods inherited from class java.lang.Object

      clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Methods inherited from interface javafx.css.Styleable

      getStyleableNode
  • Property Detail

    • value

      public final ReadOnlyObjectProperty<T> valueProperty
      The value property on Spinner is a read-only property, as it is bound to the SpinnerValueFactory 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);
       
      See Also:
      getValue()
    • 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,
      • Incrementing and decrementing the value, with one or more steps per call,
      • Converting text input from the user (via the Spinner editor,
      • Converting objects to user-readable strings for display on screen
      See Also:
      getValueFactory(), setValueFactory(SpinnerValueFactory)
    • editable

      public final BooleanProperty editableProperty
      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 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.
      See Also:
      isEditable(), setEditable(boolean)
    • editor

      public final ReadOnlyObjectProperty<TextField> editorProperty
      The editor used by the Spinner control.
      See Also:
      getEditor()
    • promptText

      public final StringProperty promptTextProperty
      The prompt text to display in the Spinner, or null if no prompt text is displayed.
      Since:
      9
      See Also:
      getPromptText(), setPromptText(String)
    • initialDelay

      public final ObjectProperty<Duration> initialDelayProperty
      The duration that the mouse has to be pressed on an arrow button before the next value steps. Successive step duration is set using repeat delay.
      Default value:
      300ms
      Since:
      11
      See Also:
      getInitialDelay(), setInitialDelay(Duration)
    • repeatDelay

      public final ObjectProperty<Duration> repeatDelayProperty
      The duration that the mouse has to be pressed for each successive step after the first value steps. Initial step duration is set using initial delay.
      Default value:
      60ms
      Since:
      11
      See Also:
      getRepeatDelay(), setRepeatDelay(Duration)
  • 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:
      Constant Field Values
    • 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:
      Constant Field Values
    • 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:
      Constant Field Values
    • 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:
      Constant Field Values
    • 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:
      Constant Field Values
  • 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 the 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>.
      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.
    • Spinner

      public Spinner​(int min,
                     int max,
                     int initialValue,
                     int amountToStepBy)
      Creates a Spinner instance with the 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>.
      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.
    • Spinner

      public Spinner​(double min,
                     double max,
                     double initialValue)
      Creates a Spinner instance with the 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>.
      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.
    • Spinner

      public Spinner​(double min,
                     double max,
                     double initialValue,
                     double amountToStepBy)
      Creates a Spinner instance with the 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>.
      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.
    • Spinner

      public Spinner​(ObservableList<T> items)
      Creates a Spinner instance with the 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.
      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 - The value factory to use.
  • Method Detail

    • increment

      public void increment()
      Attempts to increment the 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.
      Throws:
      IllegalStateException - if the value factory returned by calling getValueFactory() is null.
    • increment

      public void increment​(int steps)
      Attempts to increment the 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.
      Parameters:
      steps - The number of increments that should be performed on the value.
      Throws:
      IllegalStateException - if the value factory returned by calling getValueFactory() is null.
    • decrement

      public void decrement()
      Attempts to decrement the 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.
      Throws:
      IllegalStateException - if the value factory returned by calling getValueFactory() is null.
    • decrement

      public void decrement​(int steps)
      Attempts to decrement the 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.
      Parameters:
      steps - The number of decrements that should be performed on the value.
      Throws:
      IllegalStateException - if the value factory returned by calling getValueFactory() 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-skin or set explicitly in a sub-class with setSkin(...).
      Overrides:
      createDefaultSkin in class Control
      Returns:
      new instance of default skin for this control. If null then the control will have no skin unless one is provided by css.
    • commitValue

      public final void commitValue()
      If the Spinner is editable, calling this method will attempt to commit the current text and convert it to a value.
      Since:
      9
    • cancelEdit

      public final void cancelEdit()
      If the Spinner is editable, calling this method will attempt to replace the editor text with the last committed value.
      Since:
      9
    • 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 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);
       
    • valueProperty

      public final ReadOnlyObjectProperty<T> valueProperty()
      The value property on Spinner is a read-only property, as it is bound to the SpinnerValueFactory 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);
       
      See Also:
      getValue()
    • 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,
      • Incrementing and decrementing the value, with one or more steps per call,
      • Converting text input from the user (via the Spinner editor,
      • Converting objects to user-readable strings for display on screen
    • 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,
      • Incrementing and decrementing the value, with one or more steps per call,
      • Converting text input from the user (via the Spinner editor,
      • Converting objects to user-readable strings for display on screen
    • 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,
      • Incrementing and decrementing the value, with one or more steps per call,
      • Converting text input from the user (via the Spinner editor,
      • Converting objects to user-readable strings for display on screen
      See Also:
      getValueFactory(), setValueFactory(SpinnerValueFactory)
    • 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 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

      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 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.
    • editableProperty

      public final BooleanProperty editableProperty()
      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 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.
      See Also:
      isEditable(), setEditable(boolean)
    • editorProperty

      public final ReadOnlyObjectProperty<TextField> editorProperty()
      The editor used by the Spinner control.
      See Also:
      getEditor()
    • getEditor

      public final TextField getEditor()
      Gets the value of the property editor.
      Property description:
      The editor used by the Spinner control.
    • promptTextProperty

      public final StringProperty promptTextProperty()
      The prompt text to display in the Spinner, or null if no prompt text is displayed.
      Since:
      9
      See Also:
      getPromptText(), setPromptText(String)
    • getPromptText

      public final String getPromptText()
      Gets the value of the property promptText.
      Property description:
      The prompt text to display in the Spinner, or null if no prompt text is displayed.
      Since:
      9
    • setPromptText

      public final void setPromptText​(String value)
      Sets the value of the property promptText.
      Property description:
      The prompt text to display in the Spinner, or null if no prompt text is displayed.
      Since:
      9
    • initialDelayProperty

      public final ObjectProperty<Duration> initialDelayProperty()
      The duration that the mouse has to be pressed on an arrow button before the next value steps. Successive step duration is set using repeat delay.
      Default value:
      300ms
      Since:
      11
      See Also:
      getInitialDelay(), setInitialDelay(Duration)
    • setInitialDelay

      public final void setInitialDelay​(Duration value)
      Sets the value of the property initialDelay.
      Property description:
      The duration that the mouse has to be pressed on an arrow button before the next value steps. Successive step duration is set using repeat delay.
      Default value:
      300ms
      Since:
      11
    • getInitialDelay

      public final Duration getInitialDelay()
      Gets the value of the property initialDelay.
      Property description:
      The duration that the mouse has to be pressed on an arrow button before the next value steps. Successive step duration is set using repeat delay.
      Default value:
      300ms
      Since:
      11
    • repeatDelayProperty

      public final ObjectProperty<Duration> repeatDelayProperty()
      The duration that the mouse has to be pressed for each successive step after the first value steps. Initial step duration is set using initial delay.
      Default value:
      60ms
      Since:
      11
      See Also:
      getRepeatDelay(), setRepeatDelay(Duration)
    • setRepeatDelay

      public final void setRepeatDelay​(Duration value)
      Sets the value of the property repeatDelay.
      Property description:
      The duration that the mouse has to be pressed for each successive step after the first value steps. Initial step duration is set using initial delay.
      Default value:
      60ms
      Since:
      11
    • getRepeatDelay

      public final Duration getRepeatDelay()
      Gets the value of the property repeatDelay.
      Property description:
      The duration that the mouse has to be pressed for each successive step after the first value steps. Initial step duration is set using initial delay.
      Default value:
      60ms
      Since:
      11
    • getClassCssMetaData

      public static List<CssMetaData<? extends Styleable,​?>> getClassCssMetaData()
    • getControlCssMetaData

      public List<CssMetaData<? extends Styleable,​?>> getControlCssMetaData()
      Overrides:
      getControlCssMetaData in class Control
      Returns:
      unmodifiable list of the controls css styleable properties
    • queryAccessibleAttribute

      public Object queryAccessibleAttribute​(AccessibleAttribute attribute,
                                             Object... parameters)
      This method is called by the assistive technology to request the value for an attribute.

      This method is commonly overridden by subclasses to implement attributes that are required for a specific role.
      If a particular attribute is not handled, the superclass implementation must be called.

      Overrides:
      queryAccessibleAttribute in class Control
      Parameters:
      attribute - the requested attribute
      parameters - optional list of parameters
      Returns:
      the value for the requested attribute
      See Also:
      AccessibleAttribute
    • executeAccessibleAction

      public 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.

      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 superclass implementation must be called.

      Overrides:
      executeAccessibleAction in class Control
      Parameters:
      action - the action to execute
      parameters - optional list of parameters
      See Also:
      AccessibleAction

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API