0

现在看来我很累很傻:)我想在满足某些条件时触发按钮按下事件。这是我的代码:

@FXML protected void play(ActionEvent event) throws Exception {

        if(menu.getText().equals("The certain text")) {
            play.fireEvent(event); //Trying to cancel event
        }
}

当我按下带有 fx:id "play" 的按钮时,应用程序挂起。我究竟做错了什么?非常感谢!

4

2 回答 2

2

它正在进入无限循环。您正在事件处理程序中再次触发该事件。但是检查输出日志,应该会抛出一些异常,例如“StackOverflowError”,因为资源不是无限的:)。所以不要在可以再次处理它的处理程序中触发事件。

于 2014-04-04T18:25:53.820 回答
0

如果要取消事件,使用event.consume()它会导致动作停止。

于 2014-04-04T19:38:39.720 回答