Хотите, чтобы код не выполнялся, пока пользователь не нажмет кнопку (JavaFx Button) - PullRequest
1 голос
/ 02 мая 2020

У меня есть довольно простая игра, которую я делаю (с довольно основами c gui), и она использует кнопки JavaFx для выбора того, что произойдет. Каждая кнопка имеет сообщение и ActionEvent, связанный с ним. Когда я запускаю метод, программа не останавливается в ожидании ввода пользователя, а просто переходит прямо к следующему экрану gui. Каждый метод подсказки изменяет сцену программы, поэтому в этом примере он пропускает прямо через story1 () и переходит прямо к story2 (). Моя программа немного сложнее, чем эта, но в ней есть суть происходящего.

public void prompt(String msg1, ActionEvent event1, String msg2, ActionEvent event2){
....
window.setScene(<scene with buttons and text>)
}

public void story1(){
     prompt("say yes", event ->{do stuff}, "say no", event -> {Don't do stuff};
     **WAIT FOR A USER TO CLICK A BUTTON THEN MOVE TO story2**
}

public void story2(){
     prompt(...)
     **WAIT FOR USER INPUT DO NOT GO AHEAD UNTIL A BUTTON IS PRESSED**
}

public static void main(String[] args){
     story1(); //Don' proceed until buttons are pressed
     story2();
}

Я пытался использовать Thread.wait () и циклы while и пытался понять ActionListener и Runnable, но я не мог понять это, поэтому я решил опубликовать здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...