Zdarzenie zakończenia pracy

0

Piszę aplikację w Java przy użycie SWT. W oddzielnym wątku wykonuje się zadanie. Wątek jest zgrabnie opakowany przez moją klasę. Posiada pełną funkcjonalność. Chciałbym teraz dodać możliwość zgłoszenia zakończenia pracy wątku. Jak to zrobić? Jaki interfejs lub klasę bazową należy zaimplementować? Może jakiś mały przykład.

0

Moze wzorzec observer? Twoja klasa opakowujaca watek bylaby observee, i mialaby metode addCompletionListener(CompletionListener). CompletionListener ma metode onComplete() i ewentualnie jakies parametry. Teraz, kazdy kto chce byc powiadamiany o zakonczeniu pracy implementuje ten interfejs, dodaje sie jako listener. Twoja klasa opakowujaca zgrabnie watek na sam koniec pracy iteruje przez wszystkich listenerow i wywoluja metode onComplete(). Typowe callbacki jak np znasz ze swinga. (Zwroc uwage ze callbacki to ten sam watek co to ldugotrwale zadanie, wiec byc moze bedzie trzeba wziac to pod uwage implementujac onComplete).

0

Dzięki za opis działań. Znalazłem taką stronkę z przykładem:
[1] Creating a Custom Event
Wszystko działa OK.

0

Nie do konca mi chodzilo o to zebys korzystal z klas ze swinga (o ile to robisz, ale przyklad na to wskazuje). Mozna to zrobic calkowicie pomijajac swing, a jako ze uzywasz swt to byloby to wskazane. Wcale nie musisz uzywac EventListenerList, EventObject itd.
No ale najwaznejsze ze dziala.

0

Oczywiście można to zrobić w taki sposób, jak opisałeś. Przerobiłem kod i jest OK. Dzięki za opis działania.

1 użytkowników online, w tym zalogowanych: 0, gości: 1