2016-07-22 2 views
0

Je suis nouveau sur Java Swing. S'il vous plaît aidez-moi sur la façon d'atteindre l'exigence ci-dessous.Elément ItemListener lorsque l'index JComboBox est défini par programme

Au clic d'un bouton, je dois ouvrir une boîte de dialogue. Ma boîte de dialogue a 2 JComboBox. J'ai écrit un ItemListner sur JComboBox1 pour remplir les valeurs dans JComboBox2. Ce dont j'ai besoin maintenant est sur la charge de la boîte de dialogue Je veux définir manuellement un article dans JComboBox1 et ItemListner devrait tirer pour JComboBox2.

Le code ci-dessous que j'utilise dans la méthode qui ouvre la boîte de dialogue. Mais le ItemListener ne se déclenche pas

JComboBox jComboBox1; 

populateJComboBox(); // Method to populate JComboBox1 

jComboBox1.setSelectedIndex(0); 

ItemListener il = new ItemListener() { 
    public void itemStateChanged(ItemEvent ie) { 
    populateJComboBOx2(); 
    } 
}; 
jComboBox1.addItemListener(il); 
+1

1) Pour une meilleure aide plus tôt, poster un [MCVE] ou [Short, AUTONOME, Exemple correct] (http://www.sscce.org/). 2) Apprendre la nomenclature Java courante (conventions de nommage - par exemple 'EachWordUpperCaseClass',' firstWordLowerCaseMethod() ',' firstWordLowerCaseAttribute' sauf s'il s'agit d'un 'UPPER_CASE_CONSTANT') et l'utiliser de façon cohérente. 3) Voir aussi le commentaire à gauche lorsque [modifier la question] (http://stackoverflow.com/posts/38522124/revisions). –

Répondre

2

au lieu d'une ItemListener mettre en œuvre un ActionListener

public class ComboBoxDemo implements ActionListener { 
... 
    jComboBox1.addActionListener(this) { 
... 
public void actionPerformed(ActionEvent e) { 
    if(e.getSource().equals(jComboBox1)){ 
     populateJComboBox2(); 
    } 
} 
} 

Java Docs Link for more Information

+0

jComboBox1.addActionListener (new ActionListener() { public void actionPerformed (ActionEvent e) {if ( e.getSource() est égal à (jComboBox1)) { de populateJComboBox2(). }} }); - J'ai essayé ça mais je ne travaille pas. Je ne suis pas sûr comment formater le code dans un commentaire. Donc désolé de ne pas pouvoir formater – pankti

+0

1. revalidez-vous et repeignez le Panel dans votre populateJComboBox2? 2. ajoutez une sortie dans la méthode ActionListener afin de pouvoir confirmer si l'événement est triggerd ou – mayha