RFR: 8277000: Tree-/TableRowSkin: replace listener to fixedCellSize by live lookup

Marius Hanl mhanl at openjdk.org
Fri Nov 22 20:35:45 UTC 2024


On Fri, 22 Nov 2024 20:31:08 GMT, Marius Hanl <mhanl at openjdk.org> wrote:

> This PR improves the `Tree-/TableRowSkin` code by doing a normal live lookup for the `fixedCellSize` instead of adding listener just to update variables(`fixedCellSizeEnabled` and `fixedCellSize`) which can otherwise be also just lookup'd without the hassle of listeners.
> 
> While this is mostly a cleanup, it does improve the state of the `Tree-/TableRow`, as when the `TableRowSkinBase` constructor is called, the variables are not yet set.
> 
> It is also consistent with the other cells, see also [JDK-8246745](https://bugs.openjdk.org/browse/JDK-8246745).
> Helps a bit with [JDK-8185887](https://bugs.openjdk.org/browse/JDK-8185887) (https://github.com/openjdk/jfx/pull/1644), but as written above, not required as there is no (visible) effect.

modules/javafx.controls/src/main/java/javafx/scene/control/skin/TreeTableRowSkin.java line 100:

> 98:         ListenerHelper lh = ListenerHelper.get(this);
> 99: 
> 100:         lh.addChangeListener(control.indexProperty(), (ev) -> {

Since https://github.com/openjdk/jfx/pull/1635 got merged, this is not needed as `TableRowSkinBase` does that already:
`registerChangeListener(control.indexProperty(), e -> requestCellUpdate());`. So this is basically a noop.

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

PR Review Comment: https://git.openjdk.org/jfx/pull/1645#discussion_r1854618103


More information about the openjfx-dev mailing list