Class 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 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:
    Screenshot of StatusBar

    The following picture shows the status bar reporting progress of a task:
    Screenshot of StatusBar 
 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:
    Screenshot of StatusBar
 reporting progress, along with a couple of extra items

    Code Sample

     StatusBar statusBar = new StatusBar();
     statusBar.getLeftItems().add(new Button("Info"));
     statusBar.setProgress(.5);
     
    • 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 
      Constructor Description
      StatusBar()
      Constructs a new status bar control.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected javafx.scene.control.Skin<?> createDefaultSkin()  
      javafx.scene.Node getGraphic()
      Returns the value of the graphicProperty().
      javafx.collections.ObservableList<javafx.scene.Node> getLeftItems()
      Returns the list of items / nodes that will be shown to the left of the status label.
      double getProgress()
      Returns the value of progressProperty().
      javafx.collections.ObservableList<javafx.scene.Node> getRightItems()
      Returns the list of items / nodes that will be shown to the right of the status label.
      String getStyleText()
      A string representation of the CSS style associated with this Text.
      String getText()
      Returns the value of the textProperty().
      String getUserAgentStylesheet()
      protected String getUserAgentStylesheet​(Class<?> clazz, String fileName)
      A helper method that ensures that the resource based lookup of the user agent stylesheet only happens once.
      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.
      javafx.beans.property.DoubleProperty progressProperty()
      The property used to store the progress, a value between 0 and 1.
      void setGraphic​(javafx.scene.Node node)
      Sets the value of graphicProperty().
      void setProgress​(double progress)
      Sets the value of the progressProperty().
      void setStyleText​(String style)
      A string representation of the CSS style associated with this Text.Node.setStyle(java.lang.String)
      void setText​(String text)
      Sets the value of the textProperty().
      javafx.beans.property.StringProperty styleTextProperty()
      Return the BooleanProperty associated with the style applied to the text.
      javafx.beans.property.StringProperty textProperty()
      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 interface javafx.css.Styleable

        getStyleableNode
    • Constructor Detail

      • StatusBar

        public StatusBar()
        Constructs a new status bar control.
    • Method Detail

      • createDefaultSkin

        protected javafx.scene.control.Skin<?> createDefaultSkin()
        Overrides:
        createDefaultSkin in class javafx.scene.control.Control
      • getUserAgentStylesheet

        public String getUserAgentStylesheet()
        Overrides:
        getUserAgentStylesheet in class javafx.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
      • setText

        public final void setText​(String text)
        Sets the value of the textProperty().
        Parameters:
        text - the text shown by the label control inside the status bar
      • getText

        public final String getText()
        Returns the value of the textProperty().
        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
      • getGraphic

        public final javafx.scene.Node getGraphic()
        Returns the value of the graphicProperty().
        Returns:
        the graphic node shown by the label inside the status bar
      • setGraphic

        public final void setGraphic​(javafx.scene.Node node)
        Sets the value of graphicProperty().
        Parameters:
        node - the graphic node shown by the label inside the status bar
      • setStyleText

        public void setStyleText​(String style)
        A string representation of the CSS style associated with this Text.Node.setStyle(java.lang.String)
        Parameters:
        style -
      • getStyleText

        public String 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.
      • 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
      • setProgress

        public final void setProgress​(double progress)
        Sets the value of the progressProperty().
        Parameters:
        progress - the new progress value
      • getProgress

        public final double getProgress()
        Returns the value of progressProperty().
        Returns:
        the current progress value
      • getUserAgentStylesheet

        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. Caches the external form of the resource.
        Parameters:
        clazz - the class used for the resource lookup
        fileName - the name of the user agent stylesheet
        Returns:
        the external form of the user agent stylesheet (the path)