Я пишу GUI в JavaFX для игры Pokemon, над которой я работаю. После того, как я нажму, какое движение я хочу использовать, я хочу описать атаку с меткой Есть несколько сообщений, которые я хочу отображать отдельно, поэтому я пытаюсь использовать TimeUnit.SECONDS.sleep (), чтобы поместить 3-секундный промежуток между каждым сообщением. Когда я запускаю программу, она остается на предыдущем экране (moveOptions в коде), ждет 6 секунд и сбрасывается на основной экран (battleOptions) без отображения каких-либо сообщений. Почему не отображаются мои ярлыки?
@FXML
HBox battleOptions, moveOptions, attackNarration;
@FXML
Label narration;
public void handleMoveButton() throws InterruptedException {
this.moveOptions.setVisible(false); //makes previous screen invisible
this.attackNarration.setVisible(true); //makes the layout containing my messages visible
this.narration.setText("Pikachu used Tackle");
TimeUnit.SECONDS.sleep(3); //should display above message for 3 seconds
this.narration.setText("Foe Pikachu used Tackle");
TimeUnit.SECONDS.sleep(3); //should change to this message for 3 seconds
this.attackNarration.setVisible(false); //makes message screen invisible
this.battleOptions.setVisible(true); //makes home screen visible to restart the turn
}