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

Andy Goryachev angorya at openjdk.org
Mon Oct 13 15:52:19 UTC 2025


On Mon, 13 Oct 2025 12:24:06 GMT, Marius Hanl <mhanl at openjdk.org> wrote:

>> At a minimum, replace the first occurrence of "repopulate" with "rebuild".
>> 
>> 
>>      * Calling {@code refresh()} forces the TableView control to rebuild the
>>      * cells necessary to populate the visual bounds of the control.
>> 
>> 
>> I wouldn't over-specify this by saying what `VirtualFlow` will do, but if you want to add a sentence saying that this will request a layout that would be fine:
>> 
>> 
>>      * Calling {@code refresh()} forces the TableView control to rebuild the
>>      * cells necessary to populate the visual bounds of the control.
>>      * This will request a layout of the TableView cells.
>
> Changed to rebuild. I did not add the request layout line, in case we may want to change this later. Since as @hjohn and @johanvos mentioned, it is rather weird right now.

Thank you, though I would insist on actually explaining what "rebuild" means, as it is not clear from the context.

`VirtualFlow` offers more detailed explanation, so perhaps we should borrow that.

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

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


More information about the openjfx-dev mailing list