JavaFx, event interception/consumption
javafx, javafx-2, javafx-8
Solution
You can add specific `ChildNode#onMouse...` handlers which will consume all events.
or provide your own `EventDispatcher`:
child.setEventDispatcher(new EventDispatcher() {
@Override
public Event dispatchEvent(Event event, EventDispatchChain tail) {
boolean valid = myValidationLogicForEvents(event);
return valid ? tail.dispatchEvent(event) : null;
}
});
Problem
I've got this partial scenegraph tree : ``` CustomPane (with onMouseClicked Handler) → ChildNode (with onMousePressed Handler) ``` When I catch the MousePressed event in the ChildNode, I can consume it, so that the parent doesn't receive a MousePressed event. But I would like to consume the associated MouseClicked event. So that pressing the mouse on the Child doesn't fire a MouseClicked event on the Parent.