按钮按下Java Fx后等待点击输入

我在单击按钮后尝试等待输入时遇到一些问题。


与我的团队一起,我们正在制作一种纸牌游戏,其中纸牌相互攻击,问题是我不知道如何在单击按钮后使事件处理程序等待用户单击另一个按钮。


代码如下:


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

        }

    }


红颜莎娜
浏览 130回答 1
1回答

眼眸繁星

就是这样,您不必让处理程序等待。相反,您可以根据对象的状态更改处理程序的行为。如果对象处于“用户尚未按下第一个按钮”状态,则处理程序将做一件事。如果对象位于“用户先前已按下第一个按钮”中,则处理程序将执行其他操作。您的处理程序应查询对象实例字段的状态以确定此状态。例如,b1.setOnAction(new EventHandler<ActionEvent>() {&nbsp; &nbsp; public void handle(ActionEvent event){&nbsp; &nbsp; &nbsp; &nbsp; // may need to use boolean fields or .equals(...) method......&nbsp; &nbsp; &nbsp; &nbsp; if (someStateField == someValue) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; doBehavior1();&nbsp; &nbsp; &nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; doBehavior2();&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java