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

Java Discussion :

Deux JComboBox dépendants


Sujet :

Java

  1. #1
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 90
    Par défaut Deux JComboBox dépendants
    Bonjour,

    je souhaiterais que la liste de choix de ma jcombobox2 soit dépendante du choix que je fais dans ma combobox1. c'est à dire que quand je change la valeur de jcombobox1, les valeurs de jcombobox2 changent automatiquement. comment faire ceci ?!

  2. #2
    Membre Expert Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 341
    Par défaut
    Bonjour,

    il suffit de lier votre JComboBox à une DefaultComboBoxModel.
    Lorsque vous modifiez l'élément sélectionné de votre JComboBox1, vous traiter alors le contenu de la DefaultComboBoxModel. Votre JComboBox2 prend alors de nouvelle valeurs.
    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
    DefaultComboBoxModel cbx_Model = new DefaultComboBoxModel();
    cbx2 = new JComboBox( cbx_Model );
     
    /.../
     
    public void composeListeCbx()
    {
      int item, nb_items;
      ArrayList<monTypeListe> listeDonnees = listeAdherents; // Par exemple
     
      cbx2.setSelectedIndex( -1 ); // La liste va être modifié...
      cbx_Model.removeAllElements();
     
      nb_items = listeDonnees.size();
      for ( item = 0; item < nb_items; item++ )
        cbx_Model.addElement( listeDonnees .get(item).sPatronyme );
     
    }
    En espérant que cela vous aide...

  3. #3
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 90
    Par défaut
    Citation Envoyé par rtg57 Voir le message
    Bonjour,

    il suffit de lier votre JComboBox à une DefaultComboBoxModel.
    Lorsque vous modifiez l'élément sélectionné de votre JComboBox1, vous traiter alors le contenu de la DefaultComboBoxModel. Votre JComboBox2 prend alors de nouvelle valeurs.
    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
    DefaultComboBoxModel cbx_Model = new DefaultComboBoxModel();
    cbx2 = new JComboBox( cbx_Model );
     
    /.../
     
    public void composeListeCbx()
    {
      int item, nb_items;
      ArrayList<monTypeListe> listeDonnees = listeAdherents; // Par exemple
     
      cbx2.setSelectedIndex( -1 ); // La liste va être modifié...
      cbx_Model.removeAllElements();
     
      nb_items = listeDonnees.size();
      for ( item = 0; item < nb_items; item++ )
        cbx_Model.addElement( listeDonnees .get(item).sPatronyme );
     
    }
    En espérant que cela vous aide...
    Merci bien, ta réponse m'a beaucoup aidé!! Maintenant, est il possible de ne rendre le jcombobox2 "editable" (modifiable) que lorsqu'il y a une valeur saisie dans jcombobox1 ?!

  4. #4
    Membre Expert Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 341
    Par défaut
    Bonsoir,

    je ne vois a priori aucun problème pour cela,

    il suffit de consulter quel est la valeur de jcombobox1.getSelectedItem().
    Si -1 est retourné, cela signifie qu'il n'y a pas de valeur sélectionnée dans la liste, auquel cas il suffit de joue sur le propriétés de jcombobox2, comme par exemple jcombobox2.setEnabled( false ), afin de la rendre inutilisable.

    @ bientôt...

Discussions similaires

  1. Deux DropDownList dépendant
    Par pierrot53 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 02/06/2008, 17h29
  2. Probléme de gestion des evenements pour deux JComboBox
    Par cestsourire dans le forum Composants
    Réponses: 1
    Dernier message: 30/04/2008, 16h15
  3. problème avec deux listes dépendantes
    Par lolita2008 dans le forum Struts 1
    Réponses: 9
    Dernier message: 21/04/2008, 17h57
  4. Prob: Deux JComboBox et un Jbutton
    Par diditin dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 06/06/2006, 16h59
  5. Probleme avec deux JComboBox
    Par zandb69 dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 26/05/2006, 11h58

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