IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Remplir combobox par listener


Sujet :

avec Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 246
    Points : 85
    Points
    85
    Par défaut Remplir combobox par listener
    Je une combobox qui se rempli au click d'un bouton,
    Je souhaite remplir une autre combobox suivant le choix de la 1ere.
    Je doit donc utiliser un listener, plus particulierement "ActionListener".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     btnParcourir.addMouseListener(new MouseListener() {
     
    	    public void mouseClicked(MouseEvent e) {
     //Remplissage de la 1ere combobox
    	    SelectionListener Monlistener = new SelectionListener() {
     
    	    public void valueChanged(ListSelectionEvent arg0) {
    //Remplissage de la 2iem combobox
    }
    };
    }
    Cela ne fonctionne pas, Qu'est ce que j'ai oublié ??
    Merci

  2. #2
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 562
    Points : 15 493
    Points
    15 493
    Par défaut
    Ta description est assez succinte mais mettre un valueChanged(ListSelectionEvent arg0) dans un mouselistener est clairement une erreur.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 35
    Points : 48
    Points
    48
    Par défaut
    Un itemListener me semble plus approprié, j'aurais quelque chose comme ça pour ma part

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    public class Toto {
        public static void main(String[] args) {
            //Jframe
            JFrame jFrame = new JFrame();
            Container contentPane = jFrame.getContentPane();
            contentPane.setLayout(new GridLayout(1,2));
     
            //init combobox 1
            JComboBox jComboBox1 = new JComboBox();
            DefaultComboBoxModel defaultComboBoxModel1 = ((DefaultComboBoxModel) jComboBox1.getModel()); //le modele par defaut est un DefaultComboBoxModel
            defaultComboBoxModel1.insertElementAt("lala",0);
            defaultComboBoxModel1.insertElementAt("lolo",1);
            //combobox 2
            JComboBox jComboBox2 = new JComboBox();
            final DefaultComboBoxModel defaultComboBoxModel2 = ((DefaultComboBoxModel) jComboBox2.getModel()); //le modele par defaut est un DefaultComboBoxModel
     
            //ecouteur pour catcher les changement d'etat
            jComboBox1.addItemListener(new ItemListener() {
                public void itemStateChanged(ItemEvent e) {
                    //mise à jour du modele du second combobox
                    defaultComboBoxModel2.removeAllElements(); //on efface tout
                    for (int i = 0; i <3; i++) {
                        defaultComboBoxModel2.insertElementAt(((String) e.getItem())+i,i); //re remplissage
                    }
                }
            });
     
     
            contentPane.add(jComboBox1);
            contentPane.add(jComboBox2);
            jFrame.setVisible(true);
            jFrame.pack();
     
        }
    }

  4. #4
    Membre éclairé Avatar de Heimdal
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 549
    Points : 718
    Points
    718
    Par défaut
    Deja il manque un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1ereComboBox.addSelectionListener(monListener)
    Ensuite, je trouve dangereux d'imbriquer de la sorte des listeners.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 246
    Points : 85
    Points
    85
    Par défaut
    Ui, mon action listener ne peut pas marcher si il est dans l'action du bouton.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Remplir textbox par rapport a combobox
    Par Damiens29 dans le forum C#
    Réponses: 0
    Dernier message: 10/01/2013, 15h06
  2. boucle pour remplir combobox par oui et non
    Par panda78 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 06/08/2012, 14h29
  3. Remplir simultanément plusieurs combobox par datareader
    Par Machine Head dans le forum VB.NET
    Réponses: 1
    Dernier message: 16/07/2010, 11h52
  4. remplir une combobox par des lignes
    Par Axiome dans le forum Windows Forms
    Réponses: 2
    Dernier message: 09/12/2008, 23h30
  5. remplir combobox par le code
    Par boulhous dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 02/08/2007, 15h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo