org.geotools.swing
Class JProgressWindow

Object
  extended by 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
JProgressWindow(Component parent)
          Creates a window for reporting progress.
 
Method Summary
 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.
 String getDescription()
          Deprecated.  
 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 setDescription(String description)
          Deprecated.  
 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

getDescription

public String getDescription()
Deprecated. 

Description for the lengthly operation to be reported, or null if none.

Specified by:
getDescription in interface ProgressListener
Returns:
The task description.

setDescription

public void setDescription(String description)
Deprecated. 

Sets the description for the lenghtly operation to be reported. 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:
setDescription in interface ProgressListener
Parameters:
description - The new description, 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

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.

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.


Copyright © 1996-2014 Geotools. All Rights Reserved.