gpt4 book ai didi

javafx - 如何在JavaFX中等待用户的操作(在同一阶段)

转载 作者:行者123 更新时间:2023-12-01 19:24:00 28 4
gpt4 key购买 nike

你知道如何在for循环中等待用户的输入吗?我不是指 showAndWait() 方法,因为我没有为用户打开一个新的对话阶段。例如,for 循环的每一轮都应该等待用户按下按钮,然后再继续下一轮。

这怎么可能?非常感谢!

更新:

现在我想到,它可以与 while(buttonNotPressed){} 一起使用,但这是一个好的解决方案吗?我的意思是,在这种情况下, while 循环疯狂地运行,直到用户不会按下按钮。或者它的工作方式与等待方法类似吗?

将其想象为一个 session :用户使用 handleStart() 开始 session 您一一向用户提出 5 个问题。在每次迭代中,用户都可以回答即将出现的问题,并且可以通过handleSaveButton()保存或提交答案。您可以根据需要处理答案,然后继续进行下一次迭代。关键是,迭代必须停止,直到保存按钮未被按下。

最佳答案

别那样做。与任何事件驱动的 GUI 工具包一样,FX 工具包已经实现了一个循环,用于渲染场景图和处理每次迭代的用户输入。

只需向按钮注册一个监听器,然后在按下按钮时执行您需要执行的操作:

button.setOnAction(event -> {
// your code here...
});

如果您希望操作发生变化,只需在每次执行操作时更改某个变量的状态即可:

private int round = 0 ;

// ...

button.setOnAction(event -> {
if (round < 5) {
System.out.println("Round "+round);
System.out.println("User's input: "+textArea.getText());
round++ ;
}
});

关于javafx - 如何在JavaFX中等待用户的操作(在同一阶段),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59329716/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com