Fire JavaFX onAction事件

时间:2014-04-04 16:18:53

标签: event-handling javafx fxml actionevent

现在看来我是如此疲惫和愚蠢:)我想在满足某些条件时开启按钮按下事件。这是我的代码:

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

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

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

如果您想取消该活动,请使用event.consume(),这会导致操作停止。