Basics
Guides
API Reference
Basics
Guides
API Reference
[108:7] extends: Control
Spinner wraps the JavaFX Spinner control, a numeric input field with increment and
decrement arrow buttons that let users step through a range of values. A min, max, and
initial value define the allowed range, and the text field portion can optionally be
made editable for direct keyboard entry. The style class spinner is applied by
default. Two CSS properties control the auto-repeat timing when an arrow button is held
down.
The tables below list every CSS property available to Spinner, organized by the
class level where each property is defined. Properties defined at a higher level are
inherited by all subclasses below it.
| Property | Values | Default | Description |
|---|---|---|---|
-fx-initial-delay |
<duration> |
300ms |
Delay before auto-repeat begins when an arrow button is held down. |
-fx-repeat-delay |
<duration> |
60ms |
Interval between repeated increments or decrements while an arrow button is held. |
| Property | Values | Default | Description |
|---|---|---|---|
-fx-skin |
<string> |
null |
Fully qualified class name of the Skin to use for rendering this control. |
-fx-focus-traversable |
true | false |
true |
When true, the control participates in focus traversal via the keyboard Tab key. |
| Property | Values | Default | Description |
|---|---|---|---|
-fx-background-color |
<paint> [, <paint>]* |
transparent |
One or more paint values for background fill layers, rendered back to front. |
-fx-background-insets |
<size> or <t> <r> <b> <l> [, ...]* |
0 0 0 0 |
Insets from the region edges for each background fill layer. |
-fx-background-radius |
<size> [/ <size>]* [, ...]* |
0 0 0 0 |
Corner radii for each background fill layer. |
| Property | Values | Default | Description |
|---|---|---|---|
-fx-background-image |
<uri> [, <uri>]* |
null |
One or more image URIs for background image layers. |
-fx-background-position |
<bg-position> [, ...]* |
0% 0% |
Position of each background image within the region. Accepts keywords or size values. |
-fx-background-repeat |
<repeat-style> [, ...]* |
repeat repeat |
Tiling behavior for each background image. Values: repeat, no-repeat, round, space applied per axis. |
-fx-background-size |
<bg-size> [, ...]* |
auto auto |
Dimensions for each background image. Supports cover, contain, stretch, or explicit sizes. |
| Property | Values | Default | Description |
|---|---|---|---|
-fx-border-color |
<paint> or <t> <r> <b> <l> [, ...]* |
null |
Paint colors for the border stroke layers. |
-fx-border-insets |
<size> or <t> <r> <b> <l> [, ...]* |
null |
Insets from region edges for each border layer. |
-fx-border-radius |
<size> [, ...]* |
null |
Corner radii for border stroke layers. |
-fx-border-style |
<border-style> [, ...]* |
null |
Border line style (solid, dotted, dashed) plus phase and line cap/join options per layer. |
-fx-border-width |
<size> or <t> <r> <b> <l> [, ...]* |
null |
Thickness of each border stroke layer, per side. |
| Property | Values | Default | Description |
|---|---|---|---|
-fx-border-image-source |
<uri> [, <uri>]* |
null |
Image URIs used to paint the border. |
-fx-border-image-insets |
<size> or <t> <r> <b> <l> [, ...]* |
0 0 0 0 |
Insets for each border image layer. |
-fx-border-image-repeat |
<repeat-style> [, ...]* |
repeat repeat |
Tiling behavior for each border image. |
-fx-border-image-slice |
<size> or <t> <r> <b> <l> [fill] [, ...]* |
100% |
Divides each border image into nine regions. Adding fill preserves the center region. |
-fx-border-image-width |
<size> or <t> <r> <b> <l> [, ...]* |
1 1 1 1 |
Width of each border image slice per side. |
| Property | Values | Default | Description |
|---|---|---|---|
-fx-padding |
<size> or <t> <r> <b> <l> |
0 0 0 0 |
Interior padding between the region border and its content. |
-fx-shape |
<string> |
null |
SVG path string that defines a custom clip shape for the region. |
-fx-scale-shape |
true | false |
true |
When true, the shape is scaled to fit the region. |
-fx-position-shape |
true | false |
true |
When true, the shape is centered within the region. |
-fx-snap-to-pixel |
true | false |
true |
When true, positions and sizes are rounded to whole pixel boundaries. |
-fx-min-width |
<size> |
-1 |
Minimum width. -1 uses the computed minimum. |
-fx-pref-width |
<size> |
-1 |
Preferred width. -1 uses the computed preferred. |
-fx-max-width |
<size> |
-1 |
Maximum width. -1 uses the computed maximum. |
-fx-min-height |
<size> |
-1 |
Minimum height. -1 uses the computed minimum. |
-fx-pref-height |
<size> |
-1 |
Preferred height. -1 uses the computed preferred. |
-fx-max-height |
<size> |
-1 |
Maximum height. -1 uses the computed maximum. |
| Property | Values | Default | Description |
|---|---|---|---|
-fx-blend-mode |
add | blue | color-burn | color-dodge | darken | difference | exclusion | green | hard-light | lighten | multiply | overlay | red | screen | soft-light | src-atop | src-in | src-out | src-over |
null |
Blend mode used when compositing this node with nodes beneath it. |
-fx-cursor |
null | crosshair | default | hand | move | e-resize | h-resize | ne-resize | nw-resize | n-resize | se-resize | sw-resize | s-resize | w-resize | v-resize | text | wait | <url> |
null (inherits) |
Mouse cursor shape shown when the pointer is over this node. Inherits from parent by default. |
-fx-effect |
<effect> |
null |
A visual effect (e.g. DropShadow, InnerShadow) applied to the rendered node. |
-fx-focus-traversable |
true | false |
false |
Whether this node participates in focus traversal. Overridden to true by Control. |
-fx-view-order |
<number> |
0 |
Adjusts rendering and hit-test order within the parent without changing the scene graph order. |
-fx-opacity |
<number> [0.0 - 1.0] |
1 |
Opacity of the node. 0 is fully transparent, 1 is fully opaque. |
-fx-rotate |
<number> |
0 |
Rotation angle in degrees applied around the node's center point. Positive values are clockwise. |
-fx-scale-x |
<number> |
1 |
Scale factor along the X axis about the node's center. |
-fx-scale-y |
<number> |
1 |
Scale factor along the Y axis about the node's center. |
-fx-scale-z |
<number> |
1 |
Scale factor along the Z axis about the node's center. |
-fx-translate-x |
<number> |
0 |
Translation offset along the X axis in pixels. |
-fx-translate-y |
<number> |
0 |
Translation offset along the Y axis in pixels. |
-fx-translate-z |
<number> |
0 |
Translation offset along the Z axis in pixels. |
visibility |
visible | hidden | collapse | inherit |
visible |
Controls whether the node is rendered and participates in layout. collapse removes it from layout; hidden keeps the space. |
-fx-managed |
true | false |
true |
When false, the parent layout does not manage this node's position or size. |
Spinner (double Min = 0.0, double Max = 100.0, double Initial = 0.0)
Creates a new Spinner with min, max, and initial values.
Min is a double with the minimum value.Max is a double with the maximum value.Initial is a double with the initial value.getValue ()
Gets the current spinner value.
The current value.setEditable (bool Editable)
Sets whether the spinner text field is editable.
Editable is a bool with true to allow editing.this object for chainingonChange (callback OnChange)
Sets a callback for when the value changes.
OnChange is a callback to call on value change.this object for chainingincrement (int Steps = 1)
Increments the spinner value by the given number of steps. With the default Steps of 1 this is equivalent to a single arrow-up click. Use a larger value to skip multiple steps at once.
Steps is an optional int with the number of steps to increment (default 1).this object for chainingdecrement (int Steps = 1)
Decrements the spinner value by the given number of steps. With the default Steps of 1 this is equivalent to a single arrow-down click. Use a larger value to skip multiple steps at once.
Steps is an optional int with the number of steps to decrement (default 1).this object for chainingcommitValue ()
Commits the text in the editor to the spinner value when the spinner is editable.
this object for chainingcancelEdit ()
Cancels any pending edit, reverting the editor text to the current spinner value.
this object for chainingvalueProperty ()
Returns the ReadOnlyObjectProperty backing the current spinner value.
An AJO wrapping javafx.beans.property.ReadOnlyObjectPropertysetValueFactory (object Factory)
Sets the SpinnerValueFactory that supplies values for the spinner.
Factory is an AJO wrapping a javafx.scene.control.SpinnerValueFactory.this object for chaininggetValueFactory ()
Returns the SpinnerValueFactory currently in use.
An AJO wrapping the SpinnerValueFactoryvalueFactoryProperty ()
Returns the ObjectProperty backing the value factory.
An AJO wrapping javafx.beans.property.ObjectProperty<SpinnerValueFactoryisEditable ()
Returns whether the spinner text field is editable.
A bool; true when the editor accepts direct keyboard input.editableProperty ()
Returns the BooleanProperty backing the editable flag.
An AJO wrapping javafx.beans.property.BooleanProperty.editorProperty ()
Returns the ReadOnlyObjectProperty backing the editor TextField.
An AJO wrapping javafx.beans.property.ReadOnlyObjectPropertygetEditor ()
Returns the editor TextField used by this spinner.
An AJO wrapping javafx.scene.control.TextField.promptTextProperty ()
Returns the StringProperty backing the editor prompt text.
An AJO wrapping javafx.beans.property.StringProperty.getPromptText ()
Returns the editor prompt text shown when the editor is empty.
A string with the prompt text, or null when none is set.setPromptText (string Prompt)
Sets the editor prompt text shown when the editor is empty.
Prompt is a string with the prompt text.this object for chaininginitialDelayProperty ()
Returns the ObjectProperty backing the initial auto-repeat delay.
An AJO wrapping javafx.beans.property.ObjectPropertysetInitialDelay (double Millis)
Sets the delay before auto-repeat begins when an arrow button is held down.
Millis is a double with the delay in milliseconds.this object for chaininggetInitialDelay ()
Returns the current initial auto-repeat delay.
An AJO wrapping javafx.util.Duration.repeatDelayProperty ()
Returns the ObjectProperty backing the auto-repeat interval.
An AJO wrapping javafx.beans.property.ObjectPropertysetRepeatDelay (double Millis)
Sets the interval between repeated increments or decrements while an arrow button is held down.
Millis is a double with the interval in milliseconds.this object for chaininggetRepeatDelay ()
Returns the current auto-repeat interval.
An AJO wrapping javafx.util.Duration.
Aussom
Write once. Embed everywhere.
Copyright 2026 Austin Lehman. All rights reserved.