|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.lang.Thread
schmitzm.lang.WorkingThread
schmitzm.swing.SwingWorker
public class SwingWorker
Diese Klasse stellt einen Thread dar, der (aufwendigere) Arbeiten innerhalb einer
GUI ausfuehrt, damit diese nicht blockiert.
Dem SwingWorker kann ein StatusDialog
(modal!) zugeordnet werden.
Ist dies der Fall kehrt der Thread nicht aus seiner start()
-Routine
zurueck sondern sperrt mit dem Dialog die zugrunde liegende GUI.
Ist die "Arbeit" beendet schliesst der Thread automatisch den Dialog, so dass
die GUI wieder zugeaenglich wird. Zudem kann die Arbeit des SwingWorker jederzeit
ueber den Abbruch-Button des StatusDialog
beendet werden.
Nested Class Summary | |
---|---|
static class |
SwingWorker.Work
Diese Klasse spezifiziert die Arbeit eines SwingWorker . |
Nested classes/interfaces inherited from class java.lang.Thread |
---|
Thread.State, Thread.UncaughtExceptionHandler |
Field Summary | |
---|---|
protected boolean |
canceled
Speichert, ob der Worker (durch einen Fehler) abgebrochen wurde ( true )
oder seine Arbeit erfolgreich ausgefuehrt hat (false ). |
protected StatusDialog |
dialog
Speichert den Dialog, der waehrend der Arbeit des SwingWorkers angezeigt wird. |
protected boolean |
keepOpen
Speichert, ob der Dialog nach Beendigung der Arbeit offen gehalten soll (Default: false ). |
protected SwingWorker.Work |
work
Speichert den Arbeitsablauf fuer den Thread. |
protected Object |
workResult
Resultat von SwingWorker.Work.execute() . |
Fields inherited from class schmitzm.lang.WorkingThread |
---|
listeners, mode, MODE_PAUSE, MODE_READY, MODE_RUN, MODE_TERMINATE |
Fields inherited from class java.lang.Thread |
---|
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY |
Constructor Summary | |
---|---|
SwingWorker(SwingWorker.Work work)
Erzeugt einen neuen SwingWorker. |
|
SwingWorker(SwingWorker.Work work,
Frame parent,
String statusMess)
Erzeugt einen neuen SwingWorker. |
|
SwingWorker(SwingWorker.Work work,
Frame parent,
String statusMess,
double relX,
double relY)
Erzeugt einen neuen SwingWorker. |
|
SwingWorker(SwingWorker.Work work,
StatusDialog dialog)
Erzeugt einen neuen SwingWorker. |
Method Summary | |
---|---|
StatusDialog |
getDialog()
Liefert den Dialog, der waehrend der Arbeit des Threads angezeigt wird. |
Object |
getWorkResult()
Liefert nach der Beendigung des Threads dessen Ergebnis. |
boolean |
isCanceled()
Liefert true , wenn der Worker (aufgrund eines Fehlers oder
manuell durch den Dialog) abgebrochen wurde. |
boolean |
isKeptOpen()
Prueft, ob der Dialog nach Beendigung der Arbeit geoeffnet bleibt. |
void |
performDispose()
Wird ausgefuehrt nachdem der Thread beendet wurde. |
void |
performInit()
Initialisierung des Threads. |
void |
performWork()
Fuehrt die dem Thread zugeordnete Arbeit aus und verarbeitet auftretende Fehler. |
void |
setKeepOpen(boolean keepOpen)
Bestimmt, ob der Dialog nach Beendigung der Arbeit geoeffnet bleibt. |
void |
start()
Startet den Thread. |
void |
terminate()
Bricht die Arbeit des Threads unmittelbar und unkontrolliert ab. |
Methods inherited from class schmitzm.lang.WorkingThread |
---|
addThreadListener, checkBreakingCommands, fireThreadInitialised, fireThreadPaused, fireThreadResumed, fireThreadStarted, fireThreadStopped, getMode, goSleep, isRunning, isSleeping, pause, removeThreadListener, run, toString, wakeUp |
Methods inherited from class java.lang.Thread |
---|
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, stop, stop, suspend, yield |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected SwingWorker.Work work
protected StatusDialog dialog
protected boolean keepOpen
false
).
setKeepOpen(boolean)
protected boolean canceled
true
)
oder seine Arbeit erfolgreich ausgefuehrt hat (false
).
protected Object workResult
SwingWorker.Work.execute()
. Kann nach Beendigung des Threads
ueber getWorkResult()
abgefragt werden.
Constructor Detail |
---|
public SwingWorker(SwingWorker.Work work)
start()
-Routine
zurueck, so dass eine untergeordnete GUI nicht blockiert.
work
- auszufuehrende Arbeitpublic SwingWorker(SwingWorker.Work work, StatusDialog dialog)
start()
-Routine zurueck, sondern zeigt den (modalen) Dialog
an, so dass eine untergeordnete GUI gesperrt wird.
work
- auszufuehrende Arbeitdialog
- anzuzeigender Dialog (modal!)public SwingWorker(SwingWorker.Work work, Frame parent, String statusMess)
start()
-Routine zurueck, sondern zeigt einen (modalen) Dialog
an, so dass eine untergeordnete GUI gesperrt wird.
work
- auszufuehrende Arbeitparent
- uebergeordnete GUI (kann null
sein!)statusMess
- Meldung, die im Dialog angezeigt wirdpublic SwingWorker(SwingWorker.Work work, Frame parent, String statusMess, double relX, double relY)
start()
-Routine zurueck, sondern zeigt einen (modalen) Dialog
an, so dass eine untergeordnete GUI gesperrt wird.
work
- auszufuehrende Arbeitparent
- uebergeordnete GUI (kann null
sein!)statusMess
- Meldung, die im Dialog angezeigt wirdrelX
- horizontale Positionierung des Dialogs relativ zum uebergeordneten FensterrelY
- vertikale Positionierung des Dialogs relativ zum uebergeordneten FensterMethod Detail |
---|
public void setKeepOpen(boolean keepOpen)
keepOpen
- wenn false
wird der Dialog nach Beendigung
der Arbeit automatisch geschlossen.public boolean isKeptOpen()
setKeepOpen(boolean)
public void start()
start
in class WorkingThread
WorkingThread.performInit()
public void performWork()
performWork
in class WorkingThread
SwingWorker.Work.execute()
,
SwingWorker.Work.performError(Throwable)
public void performInit()
performInit
in class WorkingThread
public void performDispose()
performDispose
in class WorkingThread
public void terminate()
terminate
in class WorkingThread
Thread.stop()
public StatusDialog getDialog()
null
falls kein Dialog angegeben wurde.public boolean isCanceled()
true
, wenn der Worker (aufgrund eines Fehlers oder
manuell durch den Dialog) abgebrochen wurde.
public Object getWorkResult()
SwingWorker.Work.execute()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |