Wielowątkowość - komunikacja z oknem głównym

Odpowiedz Nowy wątek
2011-07-21 21:48
samara
0

Witam.
Mój problem opiszę najprościej jak się da - załóżmy, że mam klasę reprezentującą wątek (dziedziczącą po Thread), tworzę dwa takie wątki i chciałbym aby co jakiś czas zgłaszały one swój stan do okna głównego np. przez zmianę treści pola tekstowego. Jak najlepiej zrealizować coś takiego? Czy wystarczy przekazać referencję do tego obiektu? Z Javą miałem już trochę do czynienia, ale jeśli chodzi o wielowątkowość, to w tym temacie stawiam pierwsze kroki.
Nie pokażę Wam żadnego kodu jak wymaga tego zwyczaj forum, bo go nie mam, ale nie oczekuję też tego od Was. Proszę tylko o wskazówki jak coś takiego można zaprojektować.
Z góry dziękuję za odpowiedzi.

Pozostało 580 znaków

2011-07-21 21:52
0

Nie jestem biegły w wielowątkowości, ale poprawny rozwiązaniem powinna być zmiana zawartości takiego pola tekstowego z wątku, ale przy użyciu SwingUtilities.invokeLater (żeby sama zmiana wykonała się w wątku EDT jak wymaga tego Swing)


edytowany 1x, ostatnio: byku_guzio, 2011-07-21 21:52

Pozostało 580 znaków

2011-07-21 21:54
2

Wydaje mi się, że tutaj najlepiej nadaje się SwingWorker: http://download.oracle.com/ja[...]swing/concurrency/worker.html


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
masz racje, zdecydowanie lepsze od mojej propozycji - byku_guzio 2011-07-21 23:19

Pozostało 580 znaków

2011-07-22 15:18
samara
0

Wielkie dzięki za szybką odpowiedź, SwingWorker był tym czego potrzebowałem :)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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