informowanie o postępie

Dyskusje na temat Javy.
rhymie
Początkujący
Początkujący
Posty: 11
Dołączył(a): wtorek, 29 września 2009, 11:04

informowanie o postępie

Post przez rhymie »

Witam,
zastanawiam się jak poinformować o postępie wykonywania programu jednowątkowego.
W mojej formatce na dole dodałem jLabel i w kodzie dodałem zmianę tekstu tego jLabela.
Problem mam z tym, że nowy tekst nie pojawia się w tym momencie co bym chciał.
Kombinowałem z jProgressBar'em , ale on też zachowuje się tak samo.

pozdrawiam,
rhymie
Morfidon
Administrator
Administrator
Posty: 1332
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48
Contact:

Re: informowanie o postępie

Post przez Morfidon »

Witam,

Prawdopodobnie problem polega na tym, że nie używa Pan tego co przedstawiłem w ostatniej lekcji Video Kursu - Java - Aspekty Zaawansowane.

Jak chce Pan synchronizować tylko jeden wątek? Wydaje mi się, że potrzebne są dwa.

Pozdrawiam,

Arkadiusz
rhymie
Początkujący
Początkujący
Posty: 11
Dołączył(a): wtorek, 29 września 2009, 11:04

Re: informowanie o postępie

Post przez rhymie »

ok, to niech będą dwa wątki.
jeden wątek to wątek informacyjny, a drugi to nasz właściwy program.
Zakładając że schematycznie program powinien działać tak:
watek2.start
watek1.start
---
watek1:jakis kod
watek1.wait
watek2: informacja o postępie
watek2.wait
itd

Jak ustawić żeby wątek informacyjny zaczął się (watek.start) jako pierwszy ? bo rozumie nie ustawia się tego poprzez priorytety wątków (wg. lekcji 9), a kolejność ustawienia watek.start też nie ma znaczenia.

A może możliwe jest ustawienie watek.start gdzieś indziej w programie a nie w metodzie main ? i czy ewentualnie ma to sens ?

pozdrawiam,
rhymie
Morfidon
Administrator
Administrator
Posty: 1332
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48
Contact:

Re: informowanie o postępie

Post przez Morfidon »

Najprościej to użyj metody join(), albo zablokuj wykonywanie wątku głównego dopóki nie zareaguje wątek informacyjny, oczywiście jeżeli korzystasz z pakietu Swing to warto użyć dodatkowo EventQueue.
Post Reply