JavaFX 如何确定 EventTarget 路径?

How does JavaFX determine EventTarget paths?

我目前正在尝试将 TUIO 触摸事件转换为 JavaFX 事件。这在大多数情况下都有效,但是当使用那些以编程方式创建的事件时,事件所采用的路径似乎与启用 Windows 7 本机触摸和禁用 TUIO 输入时所采用的路径不同。

更具体地说,来自 Windows 7 个触摸的触摸事件被正确发送到场景中显示的矩形,但自定义触摸事件被发送到场景。

任何人都可以 explain/advise 了解 JavaFX 在使用 TouchEvent.fireEvent(..) 触发时如何知道将 TouchEvent 发送到哪里?

Link 方法: http://docs.oracle.com/javase/8/javafx/api/javafx/event/Event.html#fireEvent-javafx.event.EventTarget-javafx.event.Event-

Event.fireEvent(target, event)中,target是最终的(最里面的)目标。如果您将 Scene 作为目标传递,则事件将不会下降到比 Scene 更深的位置。如果您希望能够在那里处理事件,则需要在 Rectangle 上触发事件。您可以使用 JFXtras 的 NodeUtil.getNode 方法在相对于场景的给定位置找到节点:

Node target = NodeUtil.getNode(scene.getRoot(), sceneX, sceneY, Node.class);
Event.fireEvent(target, event);