1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| public abstract class MySwingWorker<T, V> extends SwingWorker<T, V> {
/*
* La méthode done() est final afin qu'elle ne soit pas redéfinie.
* On implémentera plutôt les méthodes onSuccess() et onFailure()
*/
@Override
protected final void done() {
try {
onSuccess( get() );
} catch (InterruptedException e) {
onFailure(e);
} catch (ExecutionException e) {
onFailure(e.getCause());
}
}
/**
* Méthode appelée dans l'EDT lorsque la tâche s'est terminé correctement.
* @param result La valeur de retour de la méthode doInBackground()
*/
protected void onSuccess(T result) {
}
/**
* Méthode appelée dans l'EDT lorsque la tâche a généré une exception.
* @param result L'exception renvoyé par la méthode doInBackground()
*/
protected void onFailure(Throwable t) {
}
} |