java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
javafx.scene.control.Control
org.controlsfx.control.StatusBar
- All Implemented Interfaces:
javafx.css.Styleable
,javafx.event.EventTarget
,javafx.scene.control.Skinnable
public class StatusBar
extends javafx.scene.control.Control
The StatusBar control is normally placed at the bottom of a window. It is
used to display various types of application status information. This can be
a text message, the progress of a task, or any other kind of status (e.g. red
/ green / yellow lights). By default the status bar contains a label for
displaying plain text and a progress bar (see 
The following picture shows the status bar reporting progress of a task:
The last picture shows the status bar reporting progress, along with a couple of extra items added to the left and right areas of the bar:
ProgressBar
) for long
running tasks. Additional controls / nodes can be placed on the left and
right sides (see getLeftItems()
and getRightItems()
).
Screenshots
The picture below shows the default appearance of the StatusBar control:
The following picture shows the status bar reporting progress of a task:

The last picture shows the status bar reporting progress, along with a couple of extra items added to the left and right areas of the bar:

Code Sample
StatusBar statusBar = new StatusBar(); statusBar.getLeftItems().add(new Button("Info")); statusBar.setProgress(.5);
-
Property Summary
PropertiesTypePropertyDescriptionfinal javafx.beans.property.ObjectProperty
<javafx.scene.Node> The property used to store a graphic node that can be displayed by the status label inside the status bar control.final javafx.beans.property.DoubleProperty
The property used to store the progress, a value between 0 and 1.final javafx.beans.property.StringProperty
Return the BooleanProperty associated with the style applied to the text.final javafx.beans.property.StringProperty
The property used for storing the text message shown by the status bar.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 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 -
Method Summary
Modifier and TypeMethodDescriptionprotected javafx.scene.control.Skin
<?> final javafx.scene.Node
Returns the value of thegraphicProperty()
.final javafx.collections.ObservableList
<javafx.scene.Node> Returns the list of items / nodes that will be shown to the left of the status label.final double
Returns the value ofprogressProperty()
.final javafx.collections.ObservableList
<javafx.scene.Node> Returns the list of items / nodes that will be shown to the right of the status label.A string representation of the CSS style associated with this Text.final String
getText()
Returns the value of thetextProperty()
.protected final String
getUserAgentStylesheet
(Class<?> clazz, String fileName) A helper method that ensures that the resource based lookup of the user agent stylesheet only happens once.final javafx.beans.property.ObjectProperty
<javafx.scene.Node> The property used to store a graphic node that can be displayed by the status label inside the status bar control.final javafx.beans.property.DoubleProperty
The property used to store the progress, a value between 0 and 1.final void
setGraphic
(javafx.scene.Node node) Sets the value ofgraphicProperty()
.final void
setProgress
(double progress) Sets the value of theprogressProperty()
.void
setStyleText
(String style) A string representation of the CSS style associated with this Text.Node.setStyle(java.lang.String)
final void
Sets the value of thetextProperty()
.final javafx.beans.property.StringProperty
Return the BooleanProperty associated with the style applied to the text.final javafx.beans.property.StringProperty
The property used for storing the text message shown by the status bar.Methods inherited from class javafx.scene.control.Control
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, executeAccessibleAction, getBaselineOffset, getClassCssMetaData, getContextMenu, getControlCssMetaData, getCssMetaData, getInitialFocusTraversable, getSkin, getTooltip, isResizable, layoutChildren, queryAccessibleAttribute, 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, 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 Details
-
text
public final javafx.beans.property.StringProperty textPropertyThe property used for storing the text message shown by the status bar.- See Also:
-
graphic
public final javafx.beans.property.ObjectProperty<javafx.scene.Node> graphicPropertyThe property used to store a graphic node that can be displayed by the status label inside the status bar control.- See Also:
-
styleText
public final javafx.beans.property.StringProperty styleTextPropertyReturn the BooleanProperty associated with the style applied to the text.- See Also:
-
progress
public final javafx.beans.property.DoubleProperty progressPropertyThe property used to store the progress, a value between 0 and 1. A negative value causes the progress bar to show an indeterminate state.- See Also:
-
-
Constructor Details
-
StatusBar
public StatusBar()Constructs a new status bar control.
-
-
Method Details
-
createDefaultSkin
protected javafx.scene.control.Skin<?> createDefaultSkin()- Overrides:
createDefaultSkin
in classjavafx.scene.control.Control
-
getUserAgentStylesheet
- Overrides:
getUserAgentStylesheet
in classjavafx.scene.layout.Region
-
textProperty
public final javafx.beans.property.StringProperty textProperty()The property used for storing the text message shown by the status bar.- Returns:
- the text message property
- See Also:
-
setText
Sets the value of thetextProperty()
.- Parameters:
text
- the text shown by the label control inside the status bar
-
getText
Returns the value of thetextProperty()
.- Returns:
- the text currently shown by the status bar
-
graphicProperty
public final javafx.beans.property.ObjectProperty<javafx.scene.Node> graphicProperty()The property used to store a graphic node that can be displayed by the status label inside the status bar control.- Returns:
- the property used for storing a graphic node
- See Also:
-
getGraphic
public final javafx.scene.Node getGraphic()Returns the value of thegraphicProperty()
.- Returns:
- the graphic node shown by the label inside the status bar
-
setGraphic
public final void setGraphic(javafx.scene.Node node) Sets the value ofgraphicProperty()
.- Parameters:
node
- the graphic node shown by the label inside the status bar
-
setStyleText
A string representation of the CSS style associated with this Text.Node.setStyle(java.lang.String)
- Parameters:
style
-
-
getStyleText
A string representation of the CSS style associated with this Text.Node.getStyle()
- Returns:
- the style applied on the text.
-
styleTextProperty
public final javafx.beans.property.StringProperty styleTextProperty()Return the BooleanProperty associated with the style applied to the text.- Returns:
- the BooleanProperty associated with the style applied to the text.
- See Also:
-
getLeftItems
public final javafx.collections.ObservableList<javafx.scene.Node> getLeftItems()Returns the list of items / nodes that will be shown to the left of the status label.- Returns:
- the items on the left-hand side of the status bar
-
getRightItems
public final javafx.collections.ObservableList<javafx.scene.Node> getRightItems()Returns the list of items / nodes that will be shown to the right of the status label.- Returns:
- the items on the left-hand side of the status bar
-
progressProperty
public final javafx.beans.property.DoubleProperty progressProperty()The property used to store the progress, a value between 0 and 1. A negative value causes the progress bar to show an indeterminate state.- Returns:
- the property used to store the progress of a task
- See Also:
-
setProgress
public final void setProgress(double progress) Sets the value of theprogressProperty()
.- Parameters:
progress
- the new progress value
-
getProgress
public final double getProgress()Returns the value ofprogressProperty()
.- Returns:
- the current progress value
-
getUserAgentStylesheet
A helper method that ensures that the resource based lookup of the user agent stylesheet only happens once. Caches the external form of the resource.- Parameters:
clazz
- the class used for the resource lookupfileName
- the name of the user agent stylesheet- Returns:
- the external form of the user agent stylesheet (the path)
-