如何在JavaFX中处理来自一个类的多个事件类型?

时间:2015-08-03 18:22:40

标签: java javafx javafx-2

在JavaFX中,是否可以从一个类处理多个事件类型(例如ActionEvent,MouseEvent等),而无需匿名的EventHandlers?我尝试了以下操作,但这只是创建了一个编译时错误。

public class GUI extends Application implements EventHandler<ActionEvent>,
                                                EventHandler<MouseEvent>

1 个答案:

答案 0 :(得分:3)

是的,但不是你想象的方式。

据我所知,你不能两次实现相同的界面,即使是不同的类型。

EventHandler<ActionEvent> and EventHandler<MouseEvent>彼此冲突,这就是为什么你最终会犯错。

像这样...

class CustomEventHandler implements EventHandler<Event>{

    public void handleActionEvent(ActionEvent ke){
        //handle event
    }

    public void handleMouseEvent(MouseEvent me){
        //handle event
    }

    @Override
    public void handle(Event event) {
        //handle event testing
    }

}

然后,您只需测试事件是鼠标类型还是操作类型,然后从该函数处理事件。