On Thu, 21 Jul 2022 04:43:15 GMT, Michael Strauß <mstra...@openjdk.org> wrote:

> `Node` adds InvalidationListeners to its parent's `disabled` and 
> `treeVisible` properties and calls its own `updateDisabled()` and 
> `updateTreeVisible(boolean)` methods when the property values change.
> 
> These listeners are not required, since `Node` can easily call the 
> `updateDisabled()` and `updateTreeVisible(boolean)` methods on its children, 
> saving the memory cost of maintaining listeners and bindings.

modules/javafx.graphics/src/main/java/javafx/scene/Node.java line 1919:

> 1917:                             }
> 1918:                         }
> 1919:                     }

Because we can use Java 17 now, you can use pattern matching for `instanceof`. 
Also, from what I see, `getChildren()` can never return `null`. So, we can write

if (Node.this instanceof Parent parent) {
    parent.getChildren().forEach(child -> child.updateDisabled());
}

-------------

PR: https://git.openjdk.org/jfx/pull/841

Reply via email to