設定した時間が経過した後、primaryStageを更新しようとしています。これは私を与える:java.lang.IllegalStateException: Not on FX application thread;
私はStackOverflowの上で解決策を探してきたと私は何人かの人々が使用することをお勧め見つけ別のスレッドからのUIの更新(時間の経過)
Platform.runLater(new Runnable ...)
出典:https://stackoverflow.com/a/17851019/5314214
しかし、それでもまだ、私はそれを動作させる方法を見つけ出すことはできません設定した時間が経過した後。
マイコード:
Timer timer = new Timer();
timer.schedule(
new TimerTask() {
@Override
public void run() {
Platform.runLater(() -> update(primaryStage));
timer.cancel();
}
}, 400
);
いつでもあなたが別のスレッドからあなたのステージを変更したいあなたはPlatform.runLater
としてのみFX application thread
を通してそれを実行する必要があります。これはそれを行う方法がある
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
update(primaryStage);
timer.cancel();
}
}, 400);