Maison  >  Article  >  Java  >  Comment afficher des objets personnalisés avec des usines de cellules dans JavaFX ?

Comment afficher des objets personnalisés avec des usines de cellules dans JavaFX ?

DDD
DDDoriginal
2024-10-25 06:17:30969parcourir

How to Display Custom Objects with Cell Factories in JavaFX?

Les usines de cellules pour l'affichage des objets personnalisés dans ListView

Dans votre application JavaFX, vous disposez d'un ListView qui doit afficher des objets Word personnalisés, chacun contenant un mot et sa définition. Cependant, ListView affiche actuellement les objets Word eux-mêmes sous forme de chaînes au lieu de chaînes de mots.

Les usines de cellules fournissent une solution à ce problème. En utilisant une fabrique de cellules, vous pouvez spécifier comment ListView doit extraire les données nécessaires des objets et les afficher dans les cellules.

Pour implémenter cela à l'aide d'une fabrique de cellules :

<code class="java">listViewOfWords.setCellFactory(param -> new ListCell<Word>() {
    @Override
    protected void updateItem(Word item, boolean empty) {
        super.updateItem(item, empty);

        if (empty || item == null || item.getWord() == null) {
            setText(null);
        } else {
            setText(item.getWord());
        }
    }
});</code>

Dans cette fabrique de cellules, la méthode updateItem extrait la propriété word de l'objet Word et la définit comme texte de la cellule.

Assurez-vous que la fabrique de cellules est définie sur ListView avec la méthode setCellFactory et votre ListView affichera désormais correctement les wordStrings des objets Word.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn