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

Composants Java Discussion :

2 combobox dependante


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 26
    Par défaut 2 combobox dependante
    Bonjour,

    Aprés de multiple recherche je n'ai pas réussit à me debrouiller pour resoudre mon probleme. C'est pour cela que je m'adresse a vous, si jamais vous avez des pistes.

    J'ai 2 combobox qui correspondent à des statuts mais seulement si je selectionne un 1er status , le 2 eme depent du choix du premier.

    J'ai commencer à bidouiller en faisant ceci :

    dans ma classe:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Vector lststatusInsp = new Vector();
    Vector lststatusRev = new Vector();
    JComboBox cmbStatus1Insp = new JComboBox(lststatusInsp);
    JComboBox cmbStatus1Rev = new JComboBox(lststatusRev);
    dans ma methode d'initialisation :

    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
    cmbStatus1Insp.setBounds(110, 65, 150, 20);
    lststatusInsp.add("00 - NA");
    lststatusInsp.add("01 - A CHERCHER");
    lststatusInsp.add("02 - A FAIRE");
    lststatusInsp.add("03 - EN COURS");
    lststatusInsp.add("04 - COMPLETE");
    panelOnglet1.add(cmbStatus1Insp);
    cmbStatus1Insp.addItemListener(this);
    cmbStatus1Rev.setBounds(110, 230, 150, 20);
    lststatusRev.add("05 - NA");
    lststatusRev.add("06 - A CHERCHER");
    lststatusRev.add("07 - A FAIRE");
    lststatusRev.add("08 - EN COURS");
    lststatusRev.add("09 - CLASSIF A FAIRE");
    lststatusRev.add("10 - CLASSIF EN COURS");
    lststatusRev.add("11 - COMPLETE");
    cmbStatus1Rev.addItemListener(this);
    panelOnglet1.add(cmbStatus1Rev);
    ma methode de mise à jour :

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    public void majCmb ( ItemEvent e)
    {
     
    if (cmbStatus1Insp.getSelectedIndex()==4)
    {
    	chkInspCompl.setVisible(true);
    	cmbStatus1Rev.removeAllItems();
    	lststatusRev.add("05 - NA");
    	lststatusRev.add("07 - A FAIRE");
    	lststatusRev.add("08 - EN COURS");
    	lststatusRev.add("09 - CLASSIF A FAIRE");
    	lststatusRev.add("10 - CLASSIF EN COURS");
    	lststatusRev.add("11 - COMPLETE");
    }
    else
    {
    	cmbTool2Insp.setVisible(false);
    	txtInspWafer2Insp.setVisible(false);
    	cmbStatus2Insp.setVisible(false);
    	sptxtComments2Insp.setVisible(false);
    	chkInspCompl.setVisible(false);
    	chkInspCompl.setSelected(false);
    }
     
     
    if (cmbStatus1Insp.getSelectedIndex()==0)
    {
    	cmbStatus1Rev.removeAllItems();
    	lststatusRev.add("05 - NA");
    	lststatusRev.add("06 - A CHERCHER");
    	lststatusRev.add("07 - A FAIRE");
    	lststatusRev.add("08 - EN COURS");
    	lststatusRev.add("09 - CLASSIF A FAIRE");
    	lststatusRev.add("10 - CLASSIF EN COURS");
    	lststatusRev.add("11 - COMPLETE");				
    }else if (cmbStatus1Insp.getSelectedIndex()==3 || cmbStatus1Insp.getSelectedIndex()==2)
    {
    	cmbStatus1Rev.removeAllItems();
    	lststatusRev.add("05 - NA");
    	lststatusRev.add("07 - A FAIRE");		
    }else if (cmbStatus1Insp.getSelectedIndex()==1)
    {
    	cmbStatus1Rev.removeAllItems();
    	lststatusRev.add("05 - NA");
    	lststatusRev.add("07 - A CHERCHER");			
    }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public void itemStateChanged(ItemEvent e) {
    	majCmb(e);
    }
    dans un premier temps tout fonctionne mais lors que je veux selectionner mon choix dans ma 2eme comboBox il y a aucune erreur mais ne me la remplit pas .

    Merci de votre aide

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 901
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 901
    Billets dans le blog
    54
    Par défaut
    Erreur tres simple a resoudre : le Vector ne sert qu'au remplissage initial de la List/JComboBox et donc si tu le modifies apres coup, ca n'a aucune incidence sur le contenu de la combo.

    => Il te faut modifier le modele de la combo qui lui contient reellement les donnees :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DefaultComboBoxModel model = (DefaultComboBoxModel)cmbStatus1Rev.getModel();
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  3. #3
    Membre averti
    Inscrit en
    Février 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 26
    Par défaut
    d'accord merci beaucoup

Discussions similaires

  1. Multi-selection dans une ComboBox ?
    Par Moloko dans le forum MFC
    Réponses: 5
    Dernier message: 07/07/2021, 17h26
  2. deux combobox dependantes
    Par mima_mine dans le forum Struts 1
    Réponses: 21
    Dernier message: 22/07/2008, 19h37
  3. [VB6] [Interface] ComboBox à plusieurs colonnes
    Par mtl dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 30/03/2004, 17h35
  4. combobox et readonly
    Par Mac leod dans le forum C++Builder
    Réponses: 6
    Dernier message: 28/11/2002, 10h27
  5. combobox->text
    Par clovis dans le forum C++Builder
    Réponses: 18
    Dernier message: 21/06/2002, 15h43

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