Class JProgressWindow

Object
JProgressWindow
All Implemented Interfaces:
ProgressListener

public class JProgressWindow extends Object implements ProgressListener
Reports progress of a lengthly operation in a window. This implementation can also format warnings. Its method can be invoked from any thread (it doesn't need to be the Swing thread), which make it easier to use it from some background thread. Such background thread should have a low priority in order to avoid delaying Swing repaint events.
Since:
2.0
Author:
Martin Desruisseaux
  • Constructor Details

    • JProgressWindow

      public JProgressWindow(Component parent)
      Creates a window for reporting progress. The window will not appears immediately. It will appears only when the started() method will be invoked.
      Parameters:
      parent - The parent component, or null if none.
  • Method Details

    • getTitle

      public String getTitle()
      Returns the window title. The default title is "Progress" localized in current locale.
      Returns:
      the window title
    • setTitle

      public void setTitle(String title)
      Set the window title. A null value reset the default title.
      Parameters:
      title - the window title
    • setTask

      public void setTask(InternationalString task)
      Description copied from interface: ProgressListener
      Sets the description of the current task being performed. This method is usually invoked before any progress begins. However, it is legal to invoke this method at any time during the operation, in which case the description display is updated without any change to the percentage accomplished.
      Specified by:
      setTask in interface ProgressListener
      Parameters:
      task - Description of the task being performed, or null if none.
    • started

      public void started()
      Notifies that the operation begins. This method display the windows if it was not already visible.
      Specified by:
      started in interface ProgressListener
    • progress

      public void progress(float percent)
      Notifies this listener of progress in the lengthly operation. Progress are reported as a value between 0 and 100 inclusive. Values out of bounds will be clamped.
      Specified by:
      progress in interface ProgressListener
      Parameters:
      percent - The progress as a value between 0 and 100 inclusive.
    • getProgress

      public float getProgress()
      Description copied from interface: ProgressListener
      Returns the current progress as a percent completed.
      Specified by:
      getProgress in interface ProgressListener
      Returns:
      Percent completed between 0 and 100 inclusive.
    • complete

      public void complete()
      Notifies that the operation has finished. The window will disaspears, except if it contains warning or exception stack traces.
      Specified by:
      complete in interface ProgressListener
    • dispose

      public void dispose()
      Releases any resource holds by this window. Invoking this method destroy the window.
      Specified by:
      dispose in interface ProgressListener
    • isCanceled

      public boolean isCanceled()
      Returns true if this job is cancelled.
      Specified by:
      isCanceled in interface ProgressListener
      Returns:
      true if this job is cancelled.
    • setCanceled

      public void setCanceled(boolean stop)
      Indicates that task should be cancelled.
      Specified by:
      setCanceled in interface ProgressListener
      Parameters:
      stop - true to stop; false otherwise
    • warningOccurred

      public void warningOccurred(String source, String margin, String warning)
      Display a warning message under the progress bar. The text area for warning messages appears only the first time this method is invoked.
      Specified by:
      warningOccurred in interface ProgressListener
      Parameters:
      source - DOCUMENT ME
      margin - DOCUMENT ME
      warning - DOCUMENT ME
    • exceptionOccurred

      public void exceptionOccurred(Throwable exception)
      Display an exception stack trace.
      Specified by:
      exceptionOccurred in interface ProgressListener
      Parameters:
      exception - the exception to display
    • getTask

      public InternationalString getTask()
      Description copied from interface: ProgressListener
      Returns the description of the current task being performed, or null if none. It is assumed that if the task is null applications may simply report that the process is "in progress" or "working" as represented in the current locale.
      Specified by:
      getTask in interface ProgressListener
      Returns:
      Description of the task being performed, or null if none.