Okno JavaFX zawiesza sie przy uzyciu Thread.sleep().

Okno JavaFX zawiesza sie przy uzyciu Thread.sleep().
G9
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 6 lat
  • Postów:39
0

Cześć!

Mam problem tak jak w temacie napisałem. Oto kod który chce wywołać:

Kopiuj
wiadomosc.setText("Komputer dobiera stawke.");
Thread.sleep(1000);
wiadomosc.setText("Komputer dobiera stawke. . ");
Thread.sleep(1000);
wiadomosc.setText("Komputer dobiera stawke. . .");
Thread.sleep(1000);

Po wywołaniu okno się zawiesza a sama "wiadomosc". wygląda tak: "Komputer dobiera stawke.".. Jak mogę rozwiązać ten problem? Na Stack Overflow sugerują użyć runlater() lub Task<>. Niestety nie wiem jak to zaimplementować dla wielu przerwań.

Pozdrawiam!

Jaca777
  • Rejestracja:ponad 9 lat
  • Ostatnio:11 miesięcy
0

Wykonujesz to w wątku JavaFX, który jest jednocześnie wątkiem aktualizującym i obsługującym całe okno. Jeśli wywołasz metodę sleep w tym wątku, to zablokujesz go całego. Możesz utworzyć nowy wątek, a w nim wykonywać instrukcję wiadomosc.setText... przy pomocy Platform.runLater (ale sleep musi znaleźć się poza tym).

edytowany 1x, ostatnio: Jaca777

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.