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 22:01:27 UTC 2025
On Wed, 15 Oct 2025 21:36:24 GMT, Andy Goryachev <angorya at openjdk.org> wrote:
>> Yes, mentioning that the cells are updated is good (and is what I was trying to add). I'd stick with "rebuild" in the first sentence, though, since that is used in VirtualFlow.
>
> 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.
-------------
PR Review Comment: https://git.openjdk.org/jfx/pull/1830#discussion_r2434082633
More information about the openjfx-dev
mailing list