我在单击按钮后尝试等待输入时遇到一些问题。与我的团队一起,我们正在制作一种纸牌游戏,其中纸牌相互攻击,问题是我不知道如何在单击按钮后使事件处理程序等待用户单击另一个按钮。代码如下:private Button attackingButton(){ Button b1 = new Button(); b1.setOnAction(new EventHandler<ActionEvent>() { public void handle(ActionEvent event){ //Here i want the user to press another button and, depending which one he //pressed, asing a variable Card aCard = //The card that the button pressed has inside } }
1 回答
眼眸繁星
TA贡献1873条经验 获得超9个赞
就是这样,您不必让处理程序等待。相反,您可以根据对象的状态更改处理程序的行为。如果对象处于“用户尚未按下第一个按钮”状态,则处理程序将做一件事。如果对象位于“用户先前已按下第一个按钮”中,则处理程序将执行其他操作。您的处理程序应查询对象实例字段的状态以确定此状态。
例如,
b1.setOnAction(new EventHandler<ActionEvent>() {
public void handle(ActionEvent event){
// may need to use boolean fields or .equals(...) method......
if (someStateField == someValue) {
doBehavior1();
} else {
doBehavior2();
}
}
}
添加回答
举报
0/150
提交
取消