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

Andy Goryachev angorya at openjdk.org
Wed Oct 15 22:04:34 UTC 2025


On Wed, 15 Oct 2025 21:58:19 GMT, Kevin Rushforth <kcr at openjdk.org> wrote:

>> I don't understand what "rebuild" is, **in this context**.
>> There is no mention of VirtualFlow here.
>> 
>> Discard cells and create new?  Calls `updateItem()` on them?  Something else?
>
> I think I see what you are getting at now. Let's take a step back.
> 
> What we want is to give the app developer enough information to know what the purpose of calling this method is, and what the effect will be. What we don't want to do is say _how_ that is done. So you are right that we shouldn't appeal to VirtualFlow since it isn't really relevant in this context. Likewise, we don't want to constrain it with implementation details.
> 
> The `refresh()` method was added by [JDK-8098085](https://bugs.openjdk.org/browse/JDK-8098085) to allow an app developer with a custom cell to say, in effect, "even if it doesn't look like anything is changed, get the contents of the cells anyway". If that's what `updateItem()` does, then yes we can say that. Otherwise, we need to find some other way to say it.

exactly, thank you @kevinrushforth

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

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


More information about the openjfx-dev mailing list