Javafx 2 如何实现一个真正定制的事件处理程序来处理JavaFX中的任何事件类型?

Javafx 2 如何实现一个真正定制的事件处理程序来处理JavaFX中的任何事件类型?,javafx-2,javafx,Javafx 2,Javafx,我计划创建一个EventHandler类,该类将处理JavaFX类中所有控件的所有类型的事件 例如,我添加了自定义事件处理程序类,以以下方式处理操作事件,效果良好: userNameText.addEventHandler(ActionEvent.ACTION, new DataChangeHandler()); cmbBox.addEventHandler(ActionEvent.ACTION, new DataChangeHandler()); btn.addEventHandler(Act

我计划创建一个EventHandler类,该类将处理JavaFX类中所有控件的所有类型的事件

例如,我添加了自定义事件处理程序类,以以下方式处理操作事件,效果良好:

userNameText.addEventHandler(ActionEvent.ACTION, new DataChangeHandler());
cmbBox.addEventHandler(ActionEvent.ACTION, new DataChangeHandler());
btn.addEventHandler(ActionEvent.ACTION, new DataChangeHandler());
以下是我的custome事件处理程序类代码:

public class DataChangeHandler implements EventHandler<ActionEvent> {    
    public void handle(ActionEvent event) {
            System.out.println("My Very Own Private Button Handler");
        }               
}
公共类DataChangeHandler实现EventHandler{
公共无效句柄(ActionEvent事件){
System.out.println(“我自己的私有按钮处理程序”);
}               
}
但是,当我尝试将其中一个AddEventHandler更改为MouseeEvent并以以下方式修改主EventHandler类时,它显示了一个错误“Interface EventHandler不能使用不同的参数多次实现”:

userNameText.addEventHandler(ActionEvent.ACTION,newdatachangehandler());
cmbBox.addEventHandler(MouseEvent.CLICKED,newDataChangeHandler());
btn.addEventHandler(ActionEvent.ACTION,新的DataChangeHandler());
公共类DataChangeHandler实现EventHandler,EventHandler{
公共无效句柄(ActionEvent事件){
println(“我自己的私有按钮处理程序-ACTIONEVENT”);
}
@凌驾
公共无效句柄(MouseEvent arg0){
System.out.println(“我自己的私有按钮处理程序-MOUSEEVENT”);
}
}
有没有其他方法可以做到这一点?请帮忙。提前谢谢。

试试这个

public class DataChangeHandler implements EventHandler<Event>{
    @Override
    public void handle(Event event) {
        System.out.println("My Very Own Private Handler For All Kind Of Events");
    }
}
公共类DataChangeHandler实现EventHandler{
@凌驾
公共无效句柄(事件){
println(“我自己所有类型事件的私有处理程序”);
}
}
public class DataChangeHandler implements EventHandler<Event>{
    @Override
    public void handle(Event event) {
        System.out.println("My Very Own Private Handler For All Kind Of Events");
    }
}