RFR: 8290040: Provide simplified deterministic way to manage listeners [v9]
John Hendrikx
jhendrikx at openjdk.org
Fri Dec 2 09:52:38 UTC 2022
On Thu, 1 Dec 2022 22:23:20 GMT, Michael Strauß <mstrauss at openjdk.org> wrote:
>> John Hendrikx has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Adjust Node
>>
>> - Fixed javadoc
>> - Added comment for code that avoid eager instantiation
>> - Changed `isShown` to use property if it is available
>
> modules/javafx.graphics/src/main/java/javafx/scene/Node.java line 1453:
>
>> 1451: private final ObservableValue<Boolean> delegate;
>> 1452: private final Object bean;
>> 1453: private final String name;
>
> You could omit the `bean` and `name` fields by making this a non-static inner class and returning `Node.this` and `"shown"` directly from `getBean()` and `getName()` respectively. In that case, you could also make this class an anonymous implementation of `ReadOnlyBooleanProperty`. This pattern is used quite extensively in JavaFX, since it can potentially save a few bytes of memory.
I don't mind changing it, but I should point out, it is already lazily created. Once it does get created, you would save 8 bytes in the best case (assuming alignment is 8 bytes).
-------------
PR: https://git.openjdk.org/jfx/pull/830
More information about the openjfx-dev
mailing list