-
Jcombox et Objet
Bonjour a tous
alors voila je suis confronté a un problème que je n'arrive pas à résoudre.
En faite je pose une question a propos des JComboBox.
Je sais que pour les remplir il faut leur ajouter une tableau de string.
Mais moi je voudrais savoir si c'est possible de les remplir avec des objets et si c'est le cas comment les utiliser dans ce cas.
Voila un exemple:
J'ai une classe : Personne
Avec des attributs : nom, prénom et age
je me demande donc si je peu remplir une jcombobox avec un tableau (ou encor mieu un ArrayList) de type Personne et dire a la JcomboBox de n'afficher que le nom de la personne par exemple.
Ensuite en utilisant ma combobox, je selectionne le nom dans la liste deroulante et la elle me renvoi l'objet personne dans son entier.
Es que c'est possible ou je rêve complètement??????
-
Bien sur que tu peux utiliser des objets dans ta combobox.
Par défaut, sera affichée l'adresse de ton objet ce qui n'est pas terrible.
Tu as deux solutions pour faire afficher ce que tu veux :
- modifier le toString de ton objet pour qu'il rende ce que tu veux afficher
- modifier le renderer de ta comboBox
-
et si tu surcharges la méthode toString () de la classe Personne ?
Ainsi t'affiches ce que tu veux des attributs de ta classe...
Pour récupérer un objet à partir de la combobox, je sais pas... p'tet en utilisant un map(clé/valeur) et pas un arraylist ??
-
Bah pour récupérer l'objet sélectionné y'a une méthode du nom de getSelectedItem qui marche quand même super bien. (cf javadoc bien sur).