Jlist recuperer valeurs selectionner (swing)

Résolu
Sat83 Messages postés 166 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 13 octobre 2008 - 5 févr. 2007 à 15:21
Sat83 Messages postés 166 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 13 octobre 2008 - 7 févr. 2007 à 10:10
Bonjour!

Je souhaiterais recuperer les valeurs selectionnés dans une Jlist (javax.swing)...

Pour remplir ma Jlist j'utilise:

                    DefaultListModel modelList = new DefaultListModel();
                    Iterator it= tmp.iterator();  //iterateur sur un ArrayList de String
                    while(it.hasNext()) {
                        modelList.addElement((String)it.next());
                    }
                    MyjList.setModel(modelList);

Je souhaiterais recuperer ensuite les élements selectionnés dans cete liste.
J'utilise donc:

                int[] tab = MyjList
.getSelectedIndices();
                for(int j =0 ; j<=tab.length-1 ; j++){
                    String tmp = (String) MyjList
..getModel().getElementAt( j );
                    System.out.println(tmp);
                }
Le probleme c'est que ce que j'obtient n'a rien a voir avec les elements selectionné ( j'obtient des elements sélectionnés, des elements non selectionnés, et pas toujours les mêmes!)

Avez vous une idée d'où cela peut il venir?
Ou avez vous une meilleure solution pour recuper les elements sélectionnés de ma JList?

Merci d'avance!
A voir également:

3 réponses

gmi19oj19 Messages postés 545 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 28 septembre 2011 2
7 févr. 2007 à 07:26
Bonjour,

A première vue, je pense qu'il s'agit d'une bête erreur d'inattention. En effet, lorsque que tu vas chercher les éléments dans la liste dans ta boucle for, tu récupères les k premiers éléments de ta liste, k étant le nombre d'éléments choisis.

Une correction serait :

                 int[] tab = MyjList
.getSelectedIndices();
                for(int j =0 ; j<=tab.length-1 ; j++){
                    String tmp = (String) MyjList
..getModel().getElementAt( tab [ j ] );
                    System.out.println(tmp);
                }

afin de récuperer les éléments aux indices selectionnés, ceux - ci état présents dans tab.

Pour les questions subsidiaires, même évidents les questionsd ont une réponse, parce que tout le monde n'a pas la mêem expérience de Java. A priori, c'est compréhensible, vu que j'ai compris Et je ne pense pas que ça soit trop complexe^^.

En esopérant  ne pas avoir mal raisonnée
3
Sat83 Messages postés 166 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 13 octobre 2008
6 févr. 2007 à 18:38
Re-bonjour!

Je vois tout les messages obtenir une reponse, sauf le mien! snif snif :)

Juste pour information, a ceux qui sont venu sur cette page:

- Est ce que la question est mal posée? est ce que ce n'est pas compréhensible?
- Est ce si evidant que personne ne veut repondre?
- Est ce au contraire complexe?

Je m'en servirais pour mes prochains messages sur le forum...

Merci quand meme a ceux qui ont reflechi a mon problème!
0
Sat83 Messages postés 166 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 13 octobre 2008
7 févr. 2007 à 10:10
Merci!
Je me sent tout con là!
J'ai passé des heures le nez dessus sans le voir!

Merci encore!
0