Class ArcProgressIndicator

java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
javafx.scene.control.Control
javafx.scene.control.ProgressIndicator
com.dlsc.gemsfx.ArcProgressIndicator
All Implemented Interfaces:
javafx.css.Styleable, javafx.event.EventTarget, javafx.scene.control.Skinnable
Direct Known Subclasses:
CircleProgressIndicator, SemiCircleProgressIndicator

public abstract class ArcProgressIndicator extends javafx.scene.control.ProgressIndicator
ArcProgressIndicator is a visual control used to indicate the progress of a task. It represents progress in an arc form, with options to show determinate or indeterminate states.

In a determinate state, the arc fills up based on the progress value, which ranges from 0.0 to 1.0, where 0.0 indicates no progress and 1.0 indicates completion.

In an indeterminate state, the arc shows a cyclic animation, indicating that progress is ongoing but the exact status is unknown. This state is useful for tasks where the progress cannot be determined.

The control also supports displaying a text or graphic inside the arc to provide additional information or visual feedback to the user.

Usage examples include file downloads, file transfers, or any long-running tasks where visual feedback on progress is beneficial.

Pseudo class: Beyond the inherited, indeterminate, and determinate pseudo-classes from ProgressIndicator, ArcProgressIndicator introduces a completed pseudo-class. This pseudo-class can be used in CSS to apply custom styles when the progress reaches 1.0 (100%).

Tips: If you prefer not to instantiate the animation object during initialization, pass a 0.0 as the initial progress. This setup indicates no progress but avoids entering the indeterminate state, which would otherwise instantiate and start the animation.

Usage examples:

    // Initializes with no progress and no animation.
    ArcProgressIndicator progressIndicator = new ArcProgressIndicator(0.0);
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static enum 
     
  • Property Summary

    Properties
    Type
    Property
    Description
    final javafx.beans.property.ObjectProperty<javafx.util.StringConverter<Double>>
    The converter is used to convert the progress value to a string that is displayed
    final javafx.beans.property.ObjectProperty<javafx.scene.Node>
    The graphic property is used to display a custom node within the progress indicator. progress label's graphic property is bound to this property.
    final javafx.beans.property.ObjectProperty<javafx.scene.shape.ArcType>
    The arc type property defines the type of the arc that is used to display the progress.
    final javafx.beans.property.ObjectProperty<ArcProgressIndicator.StyleType>
    The style type property defines the visualization type of the arc that is used to display the progress.
    final javafx.beans.property.ObjectProperty<javafx.scene.shape.ArcType>
    The track arc type property defines the type of the arc that is used to display the track.

    Properties inherited from class javafx.scene.control.ProgressIndicator

    indeterminate, progress

    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, focusVisible, focusWithin, 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.control.ProgressIndicator

    INDETERMINATE_PROGRESS

    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
     
    ArcProgressIndicator(double progress)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    final javafx.beans.property.ObjectProperty<javafx.util.StringConverter<Double>>
    The converter is used to convert the progress value to a string that is displayed
    static List<javafx.css.CssMetaData<? extends javafx.css.Styleable, ?>>
     
    protected List<javafx.css.CssMetaData<? extends javafx.css.Styleable, ?>>
     
    final javafx.util.StringConverter<Double>
    Gets the value of the converter property.
    final javafx.scene.Node
    Gets the value of the graphic property.
    final javafx.scene.shape.ArcType
    Gets the value of the progressArcType property.
    Gets the value of the styleType property.
    final javafx.scene.shape.ArcType
    Gets the value of the trackArcType property.
    final javafx.beans.property.ObjectProperty<javafx.scene.Node>
    The graphic property is used to display a custom node within the progress indicator. progress label's graphic property is bound to this property.
    final javafx.beans.property.ObjectProperty<javafx.scene.shape.ArcType>
    The arc type property defines the type of the arc that is used to display the progress.
    final void
    setConverter(javafx.util.StringConverter<Double> converter)
    Sets the value of the converter property.
    final void
    setGraphic(javafx.scene.Node graphic)
    Sets the value of the graphic property.
    final void
    setProgressArcType(javafx.scene.shape.ArcType progressArcType)
    Sets the value of the progressArcType property.
    final void
    Sets the value of the styleType property.
    final void
    setTrackArcType(javafx.scene.shape.ArcType trackArcType)
    Sets the value of the trackArcType property.
    final javafx.beans.property.ObjectProperty<ArcProgressIndicator.StyleType>
    The style type property defines the visualization type of the arc that is used to display the progress.
    final javafx.beans.property.ObjectProperty<javafx.scene.shape.ArcType>
    The track arc type property defines the type of the arc that is used to display the track.

    Methods inherited from class javafx.scene.control.ProgressIndicator

    createDefaultSkin, getInitialFocusTraversable, getProgress, indeterminateProperty, isIndeterminate, progressProperty, queryAccessibleAttribute, setProgress

    Methods inherited from class javafx.scene.control.Control

    computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, executeAccessibleAction, getBaselineOffset, getContextMenu, 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, 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, focusVisibleProperty, focusWithinProperty, 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, isFocusVisible, isFocusWithin, 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, requestFocusTraversal, 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 Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface javafx.css.Styleable

    getStyleableNode
  • Property Details

    • converter

      public final javafx.beans.property.ObjectProperty<javafx.util.StringConverter<Double>> converterProperty
      The converter is used to convert the progress value to a string that is displayed
      See Also:
    • graphic

      public final javafx.beans.property.ObjectProperty<javafx.scene.Node> graphicProperty
      The graphic property is used to display a custom node within the progress indicator. progress label's graphic property is bound to this property.
      See Also:
    • progressArcType

      public final javafx.beans.property.ObjectProperty<javafx.scene.shape.ArcType> progressArcTypeProperty
      The arc type property defines the type of the arc that is used to display the progress.

      Can be set via CSS using the -fx-progress-arc-type property. Valid values are: open, chord, round. The default value is open.

      See Also:
    • trackArcType

      public final javafx.beans.property.ObjectProperty<javafx.scene.shape.ArcType> trackArcTypeProperty
      The track arc type property defines the type of the arc that is used to display the track.

      Can be set via CSS using the -fx-track-arc-type property. Valid values are: open, chord, round. The default value is chord.

      See Also:
    • styleType

      public final javafx.beans.property.ObjectProperty<ArcProgressIndicator.StyleType> styleTypeProperty
      The style type property defines the visualization type of the arc that is used to display the progress.

      Can be set via CSS using the -fx-style-type property. Valid values are: default, bold, thin, sector. The default value is default.

      See Also:
  • Constructor Details

    • ArcProgressIndicator

      public ArcProgressIndicator()
    • ArcProgressIndicator

      public ArcProgressIndicator(double progress)
  • Method Details

    • getConverter

      public final javafx.util.StringConverter<Double> getConverter()
      Gets the value of the converter property.
      Property description:
      The converter is used to convert the progress value to a string that is displayed
      Returns:
      the value of the converter property
      See Also:
    • converterProperty

      public final javafx.beans.property.ObjectProperty<javafx.util.StringConverter<Double>> converterProperty()
      The converter is used to convert the progress value to a string that is displayed
      Returns:
      the converter property
      See Also:
    • setConverter

      public final void setConverter(javafx.util.StringConverter<Double> converter)
      Sets the value of the converter property.
      Property description:
      The converter is used to convert the progress value to a string that is displayed
      Parameters:
      converter - the value for the converter property
      See Also:
    • graphicProperty

      public final javafx.beans.property.ObjectProperty<javafx.scene.Node> graphicProperty()
      The graphic property is used to display a custom node within the progress indicator. progress label's graphic property is bound to this property.
      Returns:
      the graphic property
      See Also:
    • getGraphic

      public final javafx.scene.Node getGraphic()
      Gets the value of the graphic property.
      Property description:
      The graphic property is used to display a custom node within the progress indicator. progress label's graphic property is bound to this property.
      Returns:
      the value of the graphic property
      See Also:
    • setGraphic

      public final void setGraphic(javafx.scene.Node graphic)
      Sets the value of the graphic property.
      Property description:
      The graphic property is used to display a custom node within the progress indicator. progress label's graphic property is bound to this property.
      Parameters:
      graphic - the value for the graphic property
      See Also:
    • progressArcTypeProperty

      public final javafx.beans.property.ObjectProperty<javafx.scene.shape.ArcType> progressArcTypeProperty()
      The arc type property defines the type of the arc that is used to display the progress.

      Can be set via CSS using the -fx-progress-arc-type property. Valid values are: open, chord, round. The default value is open.

      Returns:
      the arc type property for the progress
      See Also:
    • getProgressArcType

      public final javafx.scene.shape.ArcType getProgressArcType()
      Gets the value of the progressArcType property.
      Property description:
      The arc type property defines the type of the arc that is used to display the progress.

      Can be set via CSS using the -fx-progress-arc-type property. Valid values are: open, chord, round. The default value is open.

      Returns:
      the value of the progressArcType property
      See Also:
    • setProgressArcType

      public final void setProgressArcType(javafx.scene.shape.ArcType progressArcType)
      Sets the value of the progressArcType property.
      Property description:
      The arc type property defines the type of the arc that is used to display the progress.

      Can be set via CSS using the -fx-progress-arc-type property. Valid values are: open, chord, round. The default value is open.

      Parameters:
      progressArcType - the value for the progressArcType property
      See Also:
    • trackArcTypeProperty

      public final javafx.beans.property.ObjectProperty<javafx.scene.shape.ArcType> trackArcTypeProperty()
      The track arc type property defines the type of the arc that is used to display the track.

      Can be set via CSS using the -fx-track-arc-type property. Valid values are: open, chord, round. The default value is chord.

      Returns:
      the arc type property for the track
      See Also:
    • getTrackArcType

      public final javafx.scene.shape.ArcType getTrackArcType()
      Gets the value of the trackArcType property.
      Property description:
      The track arc type property defines the type of the arc that is used to display the track.

      Can be set via CSS using the -fx-track-arc-type property. Valid values are: open, chord, round. The default value is chord.

      Returns:
      the value of the trackArcType property
      See Also:
    • setTrackArcType

      public final void setTrackArcType(javafx.scene.shape.ArcType trackArcType)
      Sets the value of the trackArcType property.
      Property description:
      The track arc type property defines the type of the arc that is used to display the track.

      Can be set via CSS using the -fx-track-arc-type property. Valid values are: open, chord, round. The default value is chord.

      Parameters:
      trackArcType - the value for the trackArcType property
      See Also:
    • styleTypeProperty

      public final javafx.beans.property.ObjectProperty<ArcProgressIndicator.StyleType> styleTypeProperty()
      The style type property defines the visualization type of the arc that is used to display the progress.

      Can be set via CSS using the -fx-style-type property. Valid values are: default, bold, thin, sector. The default value is default.

      Returns:
      the style type property for the progress
      See Also:
    • getStyleType

      public final ArcProgressIndicator.StyleType getStyleType()
      Gets the value of the styleType property.
      Property description:
      The style type property defines the visualization type of the arc that is used to display the progress.

      Can be set via CSS using the -fx-style-type property. Valid values are: default, bold, thin, sector. The default value is default.

      Returns:
      the value of the styleType property
      See Also:
    • setStyleType

      public final void setStyleType(ArcProgressIndicator.StyleType styleType)
      Sets the value of the styleType property.
      Property description:
      The style type property defines the visualization type of the arc that is used to display the progress.

      Can be set via CSS using the -fx-style-type property. Valid values are: default, bold, thin, sector. The default value is default.

      Parameters:
      styleType - the value for the styleType property
      See Also:
    • getControlCssMetaData

      protected List<javafx.css.CssMetaData<? extends javafx.css.Styleable, ?>> getControlCssMetaData()
      Overrides:
      getControlCssMetaData in class javafx.scene.control.Control
    • getClassCssMetaData

      public static List<javafx.css.CssMetaData<? extends javafx.css.Styleable, ?>> getClassCssMetaData()