Package uk.ac.starlink.table.join
Class RangeModelProgressIndicator
java.lang.Object
javax.swing.DefaultBoundedRangeModel
uk.ac.starlink.table.join.RangeModelProgressIndicator
- All Implemented Interfaces:
Serializable,Runnable,BoundedRangeModel,ProgressIndicator
public class RangeModelProgressIndicator
extends DefaultBoundedRangeModel
implements ProgressIndicator, Runnable
ProgressIndicator implementation that can serve as the model for
a
JProgressBar.
Calls to startStage, setLevel
and endStage
cause the state of the BoundedRangeModel that
this implements to be updated accordingly (asynchronously of course).
The string messages passed to startStage and
logMessage are ignored -
subclasses should override these methods (calling the superclass
implementations as well) to do something with these strings.- Since:
- 24 Mar 2004
- Author:
- Mark Taylor (Starlink)
- See Also:
-
Field Summary
Fields inherited from class javax.swing.DefaultBoundedRangeModel
changeEvent, listenerList -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidendStage()Indicates that no moreProgressIndicator.setLevel(double)calls will be made until the nextProgressIndicator.startStage(java.lang.String).voidlogMessage(String msg) Registers a comment about the progress of the algorithm.voidrun()Updates the state of theBoundedRangeModel- should only be called from the event dispatch thread.voidsetLevel(double lev) Specifies that the work of the most recently-started stage is a certain proportion complete.voidstartStage(String stage) Indicates that a number ofProgressIndicator.setLevel(double)calls may follow, followed by aProgressIndicator.endStage()call.Methods inherited from class javax.swing.DefaultBoundedRangeModel
addChangeListener, fireStateChanged, getChangeListeners, getExtent, getListeners, getMaximum, getMinimum, getValue, getValueIsAdjusting, removeChangeListener, setExtent, setMaximum, setMinimum, setRangeProperties, setValue, setValueIsAdjusting, toString
-
Constructor Details
-
RangeModelProgressIndicator
public RangeModelProgressIndicator(boolean profile)
-
-
Method Details
-
startStage
Description copied from interface:ProgressIndicatorIndicates that a number ofProgressIndicator.setLevel(double)calls may follow, followed by aProgressIndicator.endStage()call.- Specified by:
startStagein interfaceProgressIndicator- Parameters:
stage- name/description of the processing stage
-
setLevel
Description copied from interface:ProgressIndicatorSpecifies that the work of the most recently-started stage is a certain proportion complete. Calls to this method must take place between paired calls toProgressIndicator.startStage(java.lang.String)andProgressIndicator.endStage(), preferably with non-decreasing values oflevel.The method may throw an InterruptedException as a message to the caller that the work should be interrupted. A caller which receives such an exception should stop using resources and tidy up as soon as is convenient.
- Specified by:
setLevelin interfaceProgressIndicator- Parameters:
lev- value between 0. and 1. indicating amount of completion- Throws:
InterruptedException- as a message to the caller that the work is no longer required Is this abuse of InterruptedException??
-
endStage
public void endStage()Description copied from interface:ProgressIndicatorIndicates that no moreProgressIndicator.setLevel(double)calls will be made until the nextProgressIndicator.startStage(java.lang.String).- Specified by:
endStagein interfaceProgressIndicator
-
logMessage
Description copied from interface:ProgressIndicatorRegisters a comment about the progress of the algorithm. This should not be called between calls toProgressIndicator.startStage(java.lang.String)andProgressIndicator.endStage().- Specified by:
logMessagein interfaceProgressIndicator- Parameters:
msg- message
-
run
public void run()Updates the state of theBoundedRangeModel- should only be called from the event dispatch thread.
-