RFR: 8359599: Calling refresh() for all virtualized controls recreates all cells instead of refreshing the cells [v3]

Kevin Rushforth kcr at openjdk.org
Wed Oct 15 17:02:13 UTC 2025


On Wed, 15 Oct 2025 15:21:52 GMT, Andy Goryachev <angorya at openjdk.org> wrote:

>>> And what if the control uses a custom skin that is not based on the `VirtualFlow`?
>> 
>> But that can also be used against using the description from `VirtualFlow`. Right now, I would insist to not add any more details, as the rebuild implementation may change later on. 
>> 
>> Right now, we remove and add them to the viewport, but this is not really needed. What we want to achieve is that `updateItem` is called, and this way ensures that. But there are other, better and faster ways to do so. Something I might revisit at one point in the future.
>> 
>> And since the `In other words` explains why this useful, I think we are good here.
>
> I still don't know what "rebuild" means in this context.

We should be careful not to over-specify this. The "in other words" part already suggests what it does. Maybe it could be made more explicit by adding "to match the underlying data source", like this?


     * In other words, this forces the TableView to update what it is showing to
     * the user to match the underlying data source.
     * This is useful in cases where the underlying data source has
     * changed in a way that is not observed by the TableView itself.

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

PR Review Comment: https://git.openjdk.org/jfx/pull/1830#discussion_r2433348647


More information about the openjfx-dev mailing list