JavaFX:检查是否已设置事件处理程序/筛选器的方法?

JavaFX:检查是否已设置事件处理程序/筛选器的方法?,java,javafx,event-handling,javafx-8,Java,Javafx,Event Handling,Javafx 8,我对事件处理程序有一些问题。 我想检查是否已将事件处理程序设置为节点,以防止重复事件处理程序 考虑以下伪代码: if (!myNode.hasEventHandler(MouseEvent.MOUSE_PRESSED, this::doStuffOnPress): myNode.addEventHandler(MouseEvent.MOUSE_PRESSED, this::doStuffOnPress) (如果节点尚未设置此事件处理程序,请立即设置)如果不访问某些JavaFX类的私有

我对事件处理程序有一些问题。 我想检查是否已将事件处理程序设置为节点,以防止重复事件处理程序

考虑以下伪代码:

if (!myNode.hasEventHandler(MouseEvent.MOUSE_PRESSED, this::doStuffOnPress):
     myNode.addEventHandler(MouseEvent.MOUSE_PRESSED, this::doStuffOnPress)

(如果节点尚未设置此事件处理程序,请立即设置)

如果不访问某些JavaFX类的私有成员,则无法执行此操作。您需要将此类信息保存到其他地方。同时,在JRE之间比较方法引用是不可能的,或者至少是不可靠的。如果不访问某些JavaFX类的私有成员,这是不可能的。您需要将此类信息保存到其他地方。此外,在JRE之间比较方法引用是不可能的,或者至少是不可靠的。