Class 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 Summary

      Constructors 
      Constructor Description
      JProgressWindow​(Component parent)
      Creates a window for reporting progress.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void complete()
      Notifies that the operation has finished.
      void dispose()
      Releases any resource holds by this window.
      void exceptionOccurred​(Throwable exception)
      Display an exception stack trace.
      float getProgress()
      Returns the current progress as a percent completed.
      InternationalString getTask()
      Returns the description of the current task being performed, or null if none.
      String getTitle()
      Returns the window title.
      boolean isCanceled()
      Returns true if this job is cancelled.
      void progress​(float percent)
      Notifies this listener of progress in the lengthly operation.
      void setCanceled​(boolean stop)
      Indicates that task should be cancelled.
      void setTask​(InternationalString task)
      Sets the description of the current task being performed.
      void setTitle​(String title)
      Set the window title.
      void started()
      Notifies that the operation begins.
      void warningOccurred​(String source, String margin, String warning)
      Display a warning message under the progress bar.
      • Methods inherited from class Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • 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 Detail

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