Problem z rozwiązaniem wielowątkowości

0

Witam.
Moja aplikacja składa się 2 klas: JFrame który jest GUI aplikacji oraz klasy udostępniającej jakieś usługi które trwają >5min. Chciałbym zrealizować taką funkcjonalność, że po naciśnięciu przycisku w JFrame wywołuje się metoda z tej drugiej klasy i przykładowo na jakimś labelu odlicza się czas i kończy wraz z zakończeniem tej metody. Mam to wszystko już napisane, problem był taki że po wywołaniu tej metody zawieszało się całe GUI i nie było widać odliczającego się czasu. Rozwiązaniem jest zapewne puszczenie jej w innym wątku, ale jak to będzie z komunikacją, dostępem to tego labela, itp, jak to zrobić porządnie?

1

Poczytaj o SwingWorker. Został stworzony właśnie w tym celu. Puszczasz coś w runInBackground() i tam wywołujesz swoje operacje i aktualizację jakiegoś paska postępu/odliczania. Później w done() wywołujesz to, co miało się zrobić po zakończeniu całego procesu (np. wyświetlenie komunikatu "lubię placki").

0

Dzięki, zastosowałem SwingWorkera tak jak napisałeś i teraz wszystko działa ok.

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