Maison >Java >javaDidacticiel >Comment personnaliser l'affichage des cellules ListView avec les usines de cellules dans JavaFX ?
Lors du remplissage d'un ListView avec des objets personnalisés, il est essentiel de contrôler la façon dont ces objets sont affichés. Bien que le simple fait de transmettre la liste observable d'objets personnalisés à ListView fonctionne, cela peut ne pas aboutir à la présentation souhaitée.
Pour obtenir l'affichage souhaité, envisagez de tirer parti des usines de cellules. Cette approche vous permet de personnaliser la façon dont chaque cellule de ListView est présentée.
Remplacez la ligne ListView initiale par ce qui suit :
<code class="java">ListView<Word> listViewOfWords = new ListView<>(); listViewOfWords.setCellFactory(param -> new ListCell<Word>() { // Update the cell based on the provided item @Override protected void updateItem(Word item, boolean empty) { // Handle empty or null values for clean presentation if (empty || item == null || item.getWord() == null) { setText(null); } else { // Display the word string setText(item.getWord()); } } });</code>
Cette fabrique de cellules accède à la méthode getWord() de chaque objet Word pour remplir la cellule correspondante avec la chaîne de mots.
Lorsque l'utilisation de toString() pour définir le contenu de la cellule peut suffit, une usine de cellules dédiée offre une plus grande flexibilité. Vous pouvez incorporer des nœuds graphiques au-delà du texte pour améliorer la représentation visuelle de la cellule.
Considérez les optimisations suivantes :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!