On Fri, 13 Jan 2023 12:32:53 GMT, Ajit Ghaisas <aghai...@openjdk.org> wrote:

> This PR adds a warning about inserting Nodes directly into the virtualized 
> containers such as ListView, TreeView, TableView and TreeTableView. It also 
> adds code snippets showing the recommended pattern of using a custom cell 
> factory for each of the virtualized control.

modules/javafx.controls/src/main/java/javafx/scene/control/ListView.java line 
196:

> 194:  * <p> This example has an anonymous custom {@code ListCell} class in 
> the custom cell factory.
> 195:  * Note that the Rectangle (Node) object needs to be created in the 
> custom {@code ListCell} class
> 196:  * or in it's constructor and updated/used in it's updateItem method.

Do we *really* need a code sample to emphasize the fact that Nodes should not 
be a part of the data model?  
Would it be better to create a bulleted list which briefly, but succinctly 
describes the rules that should be followed by the developer?
Having said that, there is a certain benefit of having a code sample as it 
simplifies writing code via copy-paste.

modules/javafx.controls/src/main/java/javafx/scene/control/TreeTableView.java 
line 295:

> 293:  * given cell and update them on demand using the data stored in the 
> item for that cell.
> 294:  *
> 295:  * <p>For example, rather than use the following code:

perhaps instead of dedicating space to incorrect code, we should provide a 
correct code block only, emphasizing the fact that the data model must not 
contain Nodes, in text?

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

PR: https://git.openjdk.org/jfx/pull/995

Reply via email to