Module javafx.controls
Package javafx.scene.control

# Class ProgressIndicator

java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
javafx.scene.control.Control
javafx.scene.control.ProgressIndicator

All Implemented Interfaces:
  `Styleable`, `EventTarget`, `Skinnable`

Direct Known Subclasses:
  `ProgressBar`

    public class ProgressIndicator
    extends Control

A circular control which is used for indicating progress, either infinite (aka indeterminate) or finite. Often used with the Task API for representing progress of background Tasks.

ProgressIndicator sets focusTraversable to false.

This first example creates a ProgressIndicator with an indeterminate value:

     ProgressIndicator p1 = new ProgressIndicator();

This next example creates a ProgressIndicator which is 25% complete:

     ProgressIndicator p2 = new ProgressIndicator();
     p2.setProgress(0.25F);

Since:
  JavaFX 2.0

- ## Property Summary

  Properties
  Type | Property | Description
  --- | --- | ---
  `ReadOnlyBooleanProperty` | `indeterminate` | A flag indicating whether it is possible to determine the progress of the ProgressIndicator.
  `DoubleProperty` | `progress` | The actual progress of the ProgressIndicator.

  ### 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 double` | `INDETERMINATE_PROGRESS` | Value for progress indicating that the progress is indeterminate.

  ### 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
  --- | ---
  `ProgressIndicator()` | Creates a new indeterminate ProgressIndicator.
  `ProgressIndicator​(double progress)` | Creates a new ProgressIndicator with the given progress value.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `protected Skin<?>` | `createDefaultSkin()` | Create a new instance of the default skin for this control.
  `protected Boolean` | `getInitialFocusTraversable()` | Returns the initial focus traversable state of this control, for use by the JavaFX CSS engine to correctly set its initial value.
  `double` | `getProgress()` | Gets the value of the property progress.
  `ReadOnlyBooleanProperty` | `indeterminateProperty()` | A flag indicating whether it is possible to determine the progress of the ProgressIndicator.
  `boolean` | `isIndeterminate()` | Gets the value of the property indeterminate.
  `DoubleProperty` | `progressProperty()` | The actual progress of the ProgressIndicator.
  `Object` | `queryAccessibleAttribute​(AccessibleAttribute attribute, Object... parameters)` | This method is called by the assistive technology to request the value for an attribute.
  `void` | `setProgress​(double value)` | Sets the value of the property progress.

  ### Methods inherited from class javafx.scene.control.Control

  `computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, executeAccessibleAction, getBaselineOffset, getClassCssMetaData, getContextMenu, getControlCssMetaData, 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, 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

  - ### indeterminate

    public final ReadOnlyBooleanProperty indeterminateProperty
    A flag indicating whether it is possible to determine the progress of the ProgressIndicator. Typically indeterminate progress bars are rendered with some form of animation indicating potentially "infinite" progress.
    See Also:
      `isIndeterminate()`

  - ### progress

    public final DoubleProperty progressProperty
    The actual progress of the ProgressIndicator. A negative value for progress indicates that the progress is indeterminate. A positive value between 0 and 1 indicates the percentage of progress where 0 is 0% and 1 is 100%. Any value greater than 1 is interpreted as 100%.
    See Also:
      `getProgress()`, `setProgress(double)`

- ## Field Details

  - ### INDETERMINATE_PROGRESS

    public static final double INDETERMINATE_PROGRESS
    Value for progress indicating that the progress is indeterminate.
    See Also:
      `setProgress(double)`, Constant Field Values

- ## Constructor Details

  - ### ProgressIndicator

    public ProgressIndicator()
    Creates a new indeterminate ProgressIndicator.

  - ### ProgressIndicator

    public ProgressIndicator​(double progress)
    Creates a new ProgressIndicator with the given progress value.
    Parameters:
      `progress` - the progress, represented as a value between 0 and 1

- ## Method Details

  - ### isIndeterminate

    public final boolean isIndeterminate()
    Gets the value of the property indeterminate.
    Property description:
      A flag indicating whether it is possible to determine the progress of the ProgressIndicator. Typically indeterminate progress bars are rendered with some form of animation indicating potentially "infinite" progress.

  - ### indeterminateProperty

    public final ReadOnlyBooleanProperty indeterminateProperty()
    A flag indicating whether it is possible to determine the progress of the ProgressIndicator. Typically indeterminate progress bars are rendered with some form of animation indicating potentially "infinite" progress.
    See Also:
      `isIndeterminate()`

  - ### setProgress

    public final void setProgress​(double value)
    Sets the value of the property progress.
    Property description:
      The actual progress of the ProgressIndicator. A negative value for progress indicates that the progress is indeterminate. A positive value between 0 and 1 indicates the percentage of progress where 0 is 0% and 1 is 100%. Any value greater than 1 is interpreted as 100%.

  - ### getProgress

    public final double getProgress()
    Gets the value of the property progress.
    Property description:
      The actual progress of the ProgressIndicator. A negative value for progress indicates that the progress is indeterminate. A positive value between 0 and 1 indicates the percentage of progress where 0 is 0% and 1 is 100%. Any value greater than 1 is interpreted as 100%.

  - ### progressProperty

    public final DoubleProperty progressProperty()
    The actual progress of the ProgressIndicator. A negative value for progress indicates that the progress is indeterminate. A positive value between 0 and 1 indicates the percentage of progress where 0 is 0% and 1 is 100%. Any value greater than 1 is interpreted as 100%.
    See Also:
      `getProgress()`, `setProgress(double)`

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

  - ### getInitialFocusTraversable

    protected Boolean getInitialFocusTraversable()
    Returns the initial focus traversable state of this control, for use by the JavaFX CSS engine to correctly set its initial value. This method is overridden as by default UI controls have focus traversable set to true, but that is not appropriate for this control.
    Overrides:
      `getInitialFocusTraversable` in class `Control`
    Returns:
      the initial focus traversable state of this control
    Since:
      9

  - ### 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`