slt
comment afficher les elements d'un ArrayList sur une JList puis choisir quelque champs de cette dernière et les afficher sur une autre JList.
merci d'avance
slt
comment afficher les elements d'un ArrayList sur une JList puis choisir quelque champs de cette dernière et les afficher sur une autre JList.
merci d'avance
Bonjour,
Pour répondre à ta question cela dépends de ce que tu souhaites excatement faire. Mais prenons le cas le plus simple. Si ton cas est plus compliqué, expose le plus précisément.
Je suppose ici que tu as remplit une java.util.ArrayList que l'on nomera pour la la suite listSource. Je supose que tu souhaites transférer telquels les éléments de listSource vers une javax.swing.JList. Pour cela il te faut d'abord créer un javax.swing.DefaultListModel que tu rempliras, puis que tu donneras as ta javax.swing.JList.
Ce qui peut donner par exemple :
Voila ta liste de remplit.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 //...... //Création du model DefaultListModel listModel = new DefaultListModel(); //Remplir le model int size = listSource.size(); for(int index=0; index<size; index++) { listModel.addElement(listSource.get(index)); } //Donné le model à la liste listToFill.setModel(listModel);
Ensuite pour l'autre partie je vais te donner quelques pistes a toi de creuser en fouillant sur la FAQ tu devrais t'en sortir. Si tu éprouves des difficultées n'hésites pas à nous poser des questions précises.
1) Créer un modèle pour la liste cible (voir ci-dessus). C'est ce modèle que tu rempliras. N'oublies pas de donné ce nouveau modèle à ta liste cible.
2) Récupérer la sélection actuelle dans la liste source grâce à la méthode getSelectedValues()
3) Copier la sélection dans le modèle de la cible (inspire toi du code ci-dessus)
A bientôt,
JHelp
Salut,
Pour la création de la JList à partir de d'un ArrayList, il y a plus rapide.
Si tu initialise ta JList alors que l'ArrayList existe déjà tu peux faire :
Si la JList existe déjà et que tu veux changer la liste tu peux faire ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 JList laListe = new JList(monArrayList.toArray());
A++
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 laListe.setListData(monArrayList.toArray());
Bonjour,
Désolé de remonter un vieux post mais mon problème correspond excactement !!!
En fait j'ai utilisé la technique de extraman1 pour afficher le contenu d'une collection dans une JListe!
Le problème :
http://img189.imageshack.us/my.php?i...airescreen.jpg
Sur ma Jlist les informations sont cryptées apperement!
Comment ça se fait ? Comment faire apparaître le nom, prénom etc... et non Contact@1a0c10f ??
Mon code d'affichage :
Merci d'avance à celui ou celle qui m'aidera !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 ArrayList<contact> lesContacts = new ArrayList<contact>(); private JList liste = new JList(lesContacts.toArray()); //Quand j'appuie sur le bouton valider : liste.setListData(lesContacts.toArray());
Ca ressemble vachement à une description + adresse de l'objet ça...
Essaye d'implémenter un toString dans ta classe Contact.
les Contacts.toArray() ne renvoie pas des strings mais des objets. Ainsi tu n'obtient pas le nom du contact. Il faut que la liste de data que tu envoie à la JList soit composée de string. Comme le dit Antoine, implémente une méthode toString dans ta classe Contact.
Partager