Salut,
Envoyé par
Emilien_B
et j'aimerais avoir dans une autre class une JComboBox qui sera alimenter par les clés de ma collection DicoProduit.
Ce serait plus logique de mettre dans la combo les Produit, plutôt que les clefs, ce qui te permet, non seulement d'afficher le nom du produit (la clé dans ton cas), mais d'autres informations, tout en ayant à disposition direction l'instance de produit sans être obligé d'aller le retrouver dans une map.
Mais bon, si tu veux remplir la combo avec les valeurs de clefs, tu peux les obtenir directement sur la map : listeProduit.keySet().
Donc, tu peux créer une combo directement :
new JComboBox<String>(new Vector(listeProduit.keySet()));
ou itérer pour ajouter un à un.
Toutefois, keySet() retourne un Set dont l'ordre des éléments n'est pas garanti, ce qui peut-être gênant pour l'affichage. Il te suffit de remédier à ça en utilisant un TreeSet, rempli avec le keySet .
Pour mettre les valeurs plutôt que les clefs, ce n'est pas très différents : on va utiliser la méthode values() de Map au lieu de keySet().
PS : une HashMap n'est pas une Collection, mais une Map (d'où le nom).
Partager