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