# ProgressHandle

Import: `import com.install4j.api.test.formcomponents.ProgressHandle;`

```java
interface ProgressHandle extends FormComponentHandle
```

Handle for the "Progress display" form component. The Swing widget is a `JProgressBar`.

Reach this handle via [`ScreenHandle.progress`](../ui/ScreenHandle.md#progress).

## Inherited from

- [FormComponentHandle](FormComponentHandle.md) — 7 methods

## Methods

| Signature | Returns | Description |
|---|---|---|
| [`getPercentCompleted()`](#getpercentcompleted) | `int` | The current overall progress as a value from 0 to 100. |
| [`getStatusMessage()`](#getstatusmessage) | `String` | The current top status message, or the empty string if unset. |
| [`getDetailMessage()`](#getdetailmessage) | `String` | The current bottom detail message, or the empty string if unset. |
| [`isIndeterminate()`](#isindeterminate) | `boolean` | Whether the progress bar is currently in indeterminate mode. |
| [`awaitCompletion(Duration)`](#awaitcompletion-duration) | `ProgressHandle` | Block the calling thread until [`ProgressHandle.getPercentCompleted`](ProgressHandle.md#getpercentcompleted) reaches 100 or the given timeout elapses. |
| [`assertEnabled()`](#assertenabled) | `ProgressHandle` |  |
| [`assertDisabled()`](#assertdisabled) | `ProgressHandle` |  |
| [`assertVisible()`](#assertvisible) | `ProgressHandle` |  |
| [`assertInvisible()`](#assertinvisible) | `ProgressHandle` |  |

### getPercentCompleted()

```java
int getPercentCompleted()
```

The current overall progress as a value from 0 to 100.

### getStatusMessage()

```java
String getStatusMessage()
```

The current top status message, or the empty string if unset.

### getDetailMessage()

```java
String getDetailMessage()
```

The current bottom detail message, or the empty string if unset.

### isIndeterminate()

```java
boolean isIndeterminate()
```

Whether the progress bar is currently in indeterminate mode.

### awaitCompletion(Duration)

```java
ProgressHandle awaitCompletion(Duration timeout)
```

Block the calling thread until [`ProgressHandle.getPercentCompleted`](ProgressHandle.md#getpercentcompleted) reaches 100 or the given timeout
elapses. Throws an `InstallerTestException` on timeout.

### assertEnabled()

```java
ProgressHandle assertEnabled()
```

### assertDisabled()

```java
ProgressHandle assertDisabled()
```

### assertVisible()

```java
ProgressHandle assertVisible()
```

### assertInvisible()

```java
ProgressHandle assertInvisible()
```

