我们可以在JAVAFX中使用create并使用自定义EventHandler类吗?

时间:2012-10-08 23:05:15

标签: javafx-2 javafx

我对JavaFX中的事件处理有疑问。根据教程(以及我遇到的其他示例),事件处理在JavaFX中按以下方式进行:

Button addBtn = new Button("Add");
addBtn.setOnAction(new EventHandler<ActionEvent>() {
    @Override
    public void handle(ActionEvent event) {
            System.out.println("Add Clicked");
    }
});

但是,我想知道,如果我能“处理”按钮,请点击以下方式:

Button addBtn = new Button("Add");
addBtn.setOnAction(new addButtonClicked());

其中addButtonClicked()是我自己的类(使用它自己的方法和功能集),我已经定义和编写它来处理按钮点击的操作。

有没有办法为JavaFX中的按钮附加我自己的事件处理程序类?

2 个答案:

答案 0 :(得分:6)

EventHandler是一个接口类。 所以,它应该是“实现”而不是“扩展”

private static class AddButtonClicked implements EventHandler<ActionEvent> {
     @Override
     public void handle(ActionEvent event) {
          System.out.println("My Very Own Private Button Handler");
     }
}

答案 1 :(得分:1)

不确定。

private static class AddButtonClicked extends EventHandler<ActionEvent> {
     @Override
     public void handle(ActionEvent event) {
          System.out.println("My Very Own Private Button Handler");
     }
}