【问题标题】:Can we use create and use custom EventHandler classes in JAVAFX?我们可以在 JAVAFX 中使用创建和使用自定义 EventHandler 类吗?
【发布时间】:2012-10-08 23:05:14
【问题描述】:

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

【问题讨论】:

标签: javafx-2 javafx


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    当然。

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

    【讨论】:

    • 不能等待 Java 8 中的 lambdas
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-21
    • 2021-07-15
    • 2021-10-05
    • 1970-01-01
    • 2022-10-08
    • 1970-01-01
    相关资源
    最近更新 更多