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 

Votre réponse

3 réponses

Meilleure réponse
gmi19oj19 546 Messages postés lundi 10 mai 2004Date d'inscription 28 septembre 2011 Dernière intervention - 7 févr. 2007 à 07:26
3
Merci
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

Merci gmi19oj19 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

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
Merci
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
Merci
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.