3

我有这个部分场景图树:

CustomPane (with onMouseClicked Handler)
 → ChildNode (with onMousePressed Handler)

当我在 ChildNode 中捕获 MousePressed 事件时,我可以使用它,这样父级就不会收到 MousePressed 事件。但我想使用关联的 MouseClicked 事件。因此,在 Child 上按下鼠标不会在 Parent 上触发 MouseClicked 事件。

4

1 回答 1

5
  1. 您可以添加ChildNode#onMouse...将消耗所有事件的特定处理程序。

  2. 或提供您自己的EventDispatcher

    child.setEventDispatcher(new EventDispatcher() {
    
        @Override
        public Event dispatchEvent(Event event, EventDispatchChain tail) {
            boolean valid = myValidationLogicForEvents(event);
            return valid ? tail.dispatchEvent(event) : null;
        }
    });
    
于 2013-10-21T16:50:32.657 回答