Récuperation d'un objet dans un JList

Récuperation d'un objet dans un JList - Java - Programmation

Marsh Posté le 05-01-2009 à 13:17:53    

Bonjour,
Je veux récupérer un objet dans ma JList et l'afficher mais à chaque fois il m'affiche un truc comme ça :@12dce12.
Voici le code:
 
import javax.swing.*;
import java.awt.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
public class Liste1 extends JFrame
{  
   private JList liste;
 
   private String[] nom={"KONE","MILLOGO","DJIM" };
 
public Liste1()
{
super("LISTE" );
setSize(400,500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new FlowLayout());    
liste=new JList(nom);  
liste.addListSelectionListener(new ListSelectionListener(){
 
            public void valueChanged( ListSelectionEvent e){
 
                  System.out.println(liste.getSelectedValues());
 
            }
 
        });
getContentPane().add(liste);
}
 public static void main(String[] arg)
 {
    Liste1 li=new Liste1();
    li.setVisible(true);
 }
}
 

Reply

Marsh Posté le 05-01-2009 à 13:17:53   

Reply

Marsh Posté le 05-01-2009 à 13:45:11    

C'est normal, si tu regarde la javadoc de getSelectedValues, ça te retourne un Object[] (tableau d'Object)
Et donc ton System.out.println() t'affiche la référence de ce tableau qui est à ce moment là : '@12dce12'
Il faut remplacer ton

Code :
  1. System.out.println(liste.getSelectedValues());

par

Code :
  1. for (int i = 0; i < liste.getSelectedValues().length; i++) {
  2.   System.out.println(liste.getSelectedValues()[i]);
  3. }

ou un truc dans le genre selon ce que tu veux faire ...


---------------
By bob.
Reply

Marsh Posté le 05-01-2009 à 19:35:48    

Merci pour ta solution ça marche maintenant mais j'ai toujours un petit problème.au lieu de récupérer un objet je récupère 2.
Merci!

Reply

Marsh Posté le 05-01-2009 à 21:06:26    

Diego02 a écrit :

Merci pour ta solution ça marche maintenant mais j'ai toujours un petit problème.au lieu de récupérer un objet je récupère 2.
Merci!

Soit tu as sélectionné deux éléments, soit tu as une erreur dans la boucle (par exemple : '<=' au lieu de '<'), sinon je sais pas, poste ton code pour voir ...


---------------
By bob.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed