4

我对 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 中的按钮附加我自己的事件处理程序类?

4

2 回答 2

6

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

private static class AddButtonClicked implements EventHandler<ActionEvent> {
     @Override
     public void handle(ActionEvent event) {
          System.out.println("My Very Own Private Button Handler");
     }
}
于 2013-04-29T05:19:29.543 回答
1

当然。

private static class AddButtonClicked extends EventHandler<ActionEvent> {
     @Override
     public void handle(ActionEvent event) {
          System.out.println("My Very Own Private Button Handler");
     }
}
于 2012-10-08T23:20:52.010 回答