-
Bug
-
Resolution: Unresolved
-
P4
-
jfx17
the skins listen to changes of row's table but fail to update internal state as needed, in particular
- don't handle changes to tableProperty
- incorrect assumption of row's parent hierarchy
Code in Question:
- TableRowSkin constructor: registerChangeListener(control.tableViewProperty(), e -> { ... }) does sync only some properties to a changed TableView (not all of them, e.g. the VirtualFlow is not
- TreeTableRowSkin does not have this listener at all, same problem otherwise
Both 'fetch' the VirtualFlow, by making the assumption that it must be somewhere in the hierarchy. Therefore, a getParent() loop is used to find it.
This is not the case for Unit Tests (That is why we have a Nullpointer check there). It should not happen in real life scenarios though, but still not so nice as API design.
Goal:
- table changed listener need to synchronize the state for the cells and the flow, +treeColumn in case of the TreeTableView.
- The VirtualFlow need to be retrieved in another way. I have no idea how to that in a nice way as of now.
- don't handle changes to tableProperty
- incorrect assumption of row's parent hierarchy
Code in Question:
- TableRowSkin constructor: registerChangeListener(control.tableViewProperty(), e -> { ... }) does sync only some properties to a changed TableView (not all of them, e.g. the VirtualFlow is not
- TreeTableRowSkin does not have this listener at all, same problem otherwise
Both 'fetch' the VirtualFlow, by making the assumption that it must be somewhere in the hierarchy. Therefore, a getParent() loop is used to find it.
This is not the case for Unit Tests (That is why we have a Nullpointer check there). It should not happen in real life scenarios though, but still not so nice as API design.
Goal:
- table changed listener need to synchronize the state for the cells and the flow, +treeColumn in case of the TreeTableView.
- The VirtualFlow need to be retrieved in another way. I have no idea how to that in a nice way as of now.
- relates to
-
JDK-8274061 Tree-/TableRowSkin: misbehavior on switching skin
-
- Resolved
-