Jlist recuperer valeurs selectionner (swing) [Résolu]

Sat83 172 Messages postés mardi 11 novembre 2003Date d'inscription 13 octobre 2008 Dernière intervention - 5 févr. 2007 à 15:21 - Dernière réponse : Sat83 172 Messages postés mardi 11 novembre 2003Date d'inscription 13 octobre 2008 Dernière intervention
- 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!
Afficher la suite 

3 réponses

Répondre au sujet
gmi19oj19 546 Messages postés lundi 10 mai 2004Date d'inscription 28 septembre 2011 Dernière intervention - 7 févr. 2007 à 07:26
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de gmi19oj19
Sat83 172 Messages postés mardi 11 novembre 2003Date d'inscription 13 octobre 2008 Dernière intervention - 6 févr. 2007 à 18:38
0
Utile
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!
Commenter la réponse de Sat83
Sat83 172 Messages postés mardi 11 novembre 2003Date d'inscription 13 octobre 2008 Dernière intervention - 7 févr. 2007 à 10:10
0
Utile
Merci!
Je me sent tout con là!
J'ai passé des heures le nez dessus sans le voir!

Merci encore!
Commenter la réponse de Sat83

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.