javax.imageio.event

## Interface IIOWriteProgressListener

- All Superinterfaces:
    EventListener

      public interface IIOWriteProgressListener
      extends EventListener

  An interface used by `ImageWriter` implementations to notify callers of their image writing methods of progress.
  See Also:
    `ImageWriter.write(javax.imageio.metadata.IIOMetadata, javax.imageio.IIOImage, javax.imageio.ImageWriteParam)`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `imageComplete(ImageWriter source)` | Reports that the image write operation has completed.
    `void` | `imageProgress(ImageWriter source, float percentageDone)` | Reports the approximate degree of completion of the current `write` call within the associated `ImageWriter`.
    `void` | `imageStarted(ImageWriter source, int imageIndex)` | Reports that an image write operation is beginning.
    `void` | `thumbnailComplete(ImageWriter source)` | Reports that a thumbnail write operation has completed.
    `void` | `thumbnailProgress(ImageWriter source, float percentageDone)` | Reports the approximate degree of completion of the current thumbnail write within the associated `ImageWriter`.
    `void` | `thumbnailStarted(ImageWriter source, int imageIndex, int thumbnailIndex)` | Reports that a thumbnail write operation is beginning.
    `void` | `writeAborted(ImageWriter source)` | Reports that a write has been aborted via the writer's `abort` method.

- - ### Method Detail

    - #### imageStarted

          void imageStarted(ImageWriter source,
                            int imageIndex)

      Reports that an image write operation is beginning. All `ImageWriter` implementations are required to call this method exactly once when beginning an image write operation.
      Parameters:
        `source` - the `ImageWriter` object calling this method.
        `imageIndex` - the index of the image being written within its containing input file or stream.

    - #### imageProgress

          void imageProgress(ImageWriter source,
                             float percentageDone)

      Reports the approximate degree of completion of the current `write` call within the associated `ImageWriter`.

      The degree of completion is expressed as an index indicating which image is being written, and a percentage varying from `0.0F` to `100.0F` indicating how much of the current image has been output. The percentage should ideally be calculated in terms of the remaining time to completion, but it is usually more practical to use a more well-defined metric such as pixels decoded or portion of input stream consumed. In any case, a sequence of calls to this method during a given read operation should supply a monotonically increasing sequence of percentage values. It is not necessary to supply the exact values `0` and `100`, as these may be inferred by the callee from other methods.

      Each particular `ImageWriter` implementation may call this method at whatever frequency it desires. A rule of thumb is to call it around each 5 percent mark.

      Parameters:
        `source` - the `ImageWriter` object calling this method.
        `percentageDone` - the approximate percentage of decoding that has been completed.

    - #### imageComplete

          void imageComplete(ImageWriter source)

      Reports that the image write operation has completed. All `ImageWriter` implementations are required to call this method exactly once upon completion of each image write operation.
      Parameters:
        `source` - the `ImageWriter` object calling this method.

    - #### thumbnailStarted

          void thumbnailStarted(ImageWriter source,
                                int imageIndex,
                                int thumbnailIndex)

      Reports that a thumbnail write operation is beginning. All `ImageWriter` implementations are required to call this method exactly once when beginning a thumbnail write operation.
      Parameters:
        `source` - the `ImageWrite` object calling this method.
        `imageIndex` - the index of the image being written within its containing input file or stream.
        `thumbnailIndex` - the index of the thumbnail being written.

    - #### thumbnailProgress

          void thumbnailProgress(ImageWriter source,
                                 float percentageDone)

      Reports the approximate degree of completion of the current thumbnail write within the associated `ImageWriter`. The semantics are identical to those of `imageProgress`.
      Parameters:
        `source` - the `ImageWriter` object calling this method.
        `percentageDone` - the approximate percentage of decoding that has been completed.

    - #### thumbnailComplete

          void thumbnailComplete(ImageWriter source)

      Reports that a thumbnail write operation has completed. All `ImageWriter` implementations are required to call this method exactly once upon completion of each thumbnail write operation.
      Parameters:
        `source` - the `ImageWriter` object calling this method.

    - #### writeAborted

          void writeAborted(ImageWriter source)

      Reports that a write has been aborted via the writer's `abort` method. No further notifications will be given.
      Parameters:
        `source` - the `ImageWriter` object calling this method.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.