# ApplicationLauncher.ProgressListener

Import: `import com.install4j.api.launcher.ApplicationLauncher;`

```java
static interface ProgressListener
```

You can implement this interface to receive progress information from the installer application.
An instance of this class has to be returned by [`Callback.createProgressListener`](ApplicationLauncher.Callback.md#createprogresslistener).

## Methods

| Signature | Returns | Description |
|---|---|---|
| [`screenActivated(String)`](#screenactivated-string) | `void` | A new screen has been activated. |
| [`actionStarted(String)`](#actionstarted-string) | `void` | A new action has started its execution. |
| [`statusMessage(String)`](#statusmessage-string) | `void` | A status message was set in the progress interface. |
| [`detailMessage(String)`](#detailmessage-string) | `void` | A detail message was set in the progress interface. |
| [`percentCompleted(int)`](#percentcompleted-int) | `void` | The percentage of completion of the current action has changed. |
| [`secondaryPercentCompleted(int)`](#secondarypercentcompleted-int) | `void` | The percentage of completion of a secondary task, like the unpacking of a JAR file, has changed. |
| [`indeterminateProgress(boolean)`](#indeterminateprogress-boolean) | `void` | The indeterminate progress state has changed. |

### screenActivated(String)

```java
void screenActivated(String id)
```

A new screen has been activated.


**Parameters:**

- `id` — the ID of the screen

### actionStarted(String)

```java
void actionStarted(String id)
```

A new action has started its execution.


**Parameters:**

- `id` — the ID of the action

### statusMessage(String)

```java
void statusMessage(String message)
```

A status message was set in the progress interface.


**Parameters:**

- `message` — the new message.

### detailMessage(String)

```java
void detailMessage(String message)
```

A detail message was set in the progress interface. This message is shown
below the status message.


**Parameters:**

- `message` — the new message.

### percentCompleted(int)

```java
void percentCompleted(int value)
```

The percentage of completion of the current action has changed.


**Parameters:**

- `value` — a value between 0 and 100.

### secondaryPercentCompleted(int)

```java
void secondaryPercentCompleted(int value)
```

The percentage of completion of a secondary task, like the unpacking of a JAR file, has changed.


**Parameters:**

- `value` — a value between 0 and 100.

### indeterminateProgress(boolean)

```java
void indeterminateProgress(boolean indeterminateProgress)
```

The indeterminate progress state has changed.

