tag Archives: SwingWorker

SwingWorker nie działa!

Odpalając niedawno jedną z napisanych przeze mnie niegdyś aplikacji na nowej wersji Javy (JRE 1.6.0_20) zauważyłem, iż nie działa ona prawidłowo. Otóż, niektóre operacje trwały dłużej niż powinny. Po krótkim śledztwie z wykorzystaniem jvisualvm i inspekcją kodu na czele, okazało się, że to używane przeze mnie SwingWorker’y z nieznanych mi przyczyn prawdopodobnie wchodzą sobie w drogę.

Jak wykonywać długotrwałe zadania w Swing'u

Odkąd zacząłem pisać w Javie bardziej złożone aplikacje, które musiały na przykład komunikować się z jakimiś webowymi usługami lub wykonywać dłuższe obliczenia, miewałem problemy z zamarzającym GUI. Próbowałem problem ten rozwiązać na wiele sposobów, jednak zawsze znalazło się coś, co nie działało tak jak powinno - jak chociażby labele lub pola tekstowe, które powinny wyświetlać informacje o postępie zadania, a przez cały czas aż do zakończenia zadania pozostawały niezmienione.