Я хочу создать код, в котором с каждой итерацией я получаю случайное число, и на основе этого числа кнопка меняет свой цвет на светло-зеленый, затем через одну секунду она возвращается к значению по умолчанию, но моя проблема в том, что for () не будет ждать, пока кнопка изменится, и она начнет свою новую итерацию. Пока это мой код:
for(int i=0; i<n; i++) {
int x = rand.nextInt(4) + 1;
switch(x) {
case 1: {
System.out.println("b1");
button1.setStyle("-fx-background-color: lightgreen; -fx-border-color: black;");
PauseTransition wait = newPauseTransition(Duration.seconds(1));
wait.setOnFinished(event -> {
button1.setStyle("");
});
wait.play();
}
break;
case 2: {
System.out.println("b2");
button2.setStyle("-fx-background-color: lightgreen; -fx-border-color: black;");
PauseTransition wait = new PauseTransition(Duration.seconds(1));
wait.setOnFinished(event -> {
button2.setStyle("");
});
wait.play();
}
break;
...
}
Как мне сделать так, чтобы l oop не блокировал обновления пользовательского интерфейса? Я видел кое-что о создании новой темы для l oop, но я не могу понять, как это сделать и где использовать Platform.runLater.