Interaction avec les liste

langagec08 Messages postés 72 Date d'inscription mardi 30 mars 2010 Statut Membre Dernière intervention 22 août 2011 - 5 avril 2011 à 13:58
 Utilisateur anonyme - 8 avril 2011 à 21:49
bonjour tout le monde , voila mon problème j'ai un JCombobox et je veux que dés que mon utilisateur fasse un choix je récupère le choix qu'il a fait .dans mon code seule la première valeur est retournée et mème je choisi autre chose ça change pas la valeur de ma variable retourné voici mon code :
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;


public class Liste extends JComboBox {
   public Liste() {}
public Liste(String[] tab) {
super(tab);
setPreferredSize(new Dimension(150,30));
    addItemListener(new ItemState());
}

public JPanel definirliste(String lab){
JPanel pan=new JPanel() ;pan.setBackground(Color.WHITE);
  JLabel labNom = new JLabel(lab);
  pan.add(labNom);
  pan.add(this);
  return pan ;
}
public String retourneitemlist(){
String lis ;
this.addItemListener(new ItemState());
this.addActionListener(new ItemAction() );
this.addItemListener(new ItemState());

lis = (String) this.getSelectedItem();
 return lis ;
}
class ItemState implements ItemListener{
 
        public void itemStateChanged(ItemEvent e) {
             
        }
}
 class ItemAction implements ActionListener{
 
         public void actionPerformed(ActionEvent e) {
               
         }               
 }

}


aidez moi svp

1 réponse

Utilisateur anonyme
8 avril 2011 à 21:49
Salut,

Est-ce que as mis tout ton code ? Car je me demande comment ça peut tourner avec les méthodes de tes listeners pleines de vides Ou alors je suis passé à côté de quelque chose.

A mon avis tu as fait un peu trop compliqué. D'autant plus qu'il y a des choses dans ton code qui sont un peu choquantes. Par exemple tu appelles deux fois ta méthode "this.addItemListener(new ItemState());"

Dans ta méthode "retourneitemlist()", évite d'attribuer à chaque fois des listeners à ta JComboBox. Tu affectes ces listeners une fois pour toutes quand tu la créée.

Dans quel cas tu veux utiliser ta JComboBox ? Car en fouillant dans du code que j'ai, un simple appel à getSelectedItem() suffit.
0
Rejoignez-nous