我在單擊按鈕后嘗試等待輸入時遇到一些問題。與我的團隊一起,我們正在制作一種紙牌游戲,其中紙牌相互攻擊,問題是我不知道如何在單擊按鈕后使事件處理程序等待用戶單擊另一個按鈕。代碼如下: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個贊
就是這樣,您不必讓處理程序等待。相反,您可以根據對象的狀態(tài)更改處理程序的行為。如果對象處于“用戶尚未按下第一個按鈕”狀態(tài),則處理程序將做一件事。如果對象位于“用戶先前已按下第一個按鈕”中,則處理程序將執(zhí)行其他操作。您的處理程序應查詢對象實例字段的狀態(tài)以確定此狀態(tài)。
例如,
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
提交
取消