以编程方式设置JComboBox索引时触发ItemListener

时间:2016-07-22 08:50:22

标签: java swing jcombobox itemlistener

我是Java Swing的新手。请帮助我了解如何达到以下要求。

点击按钮我必须打开一个对话框。我的对话框有2个JComboBox。我在ItemListner上写了一个JComboBox1来填充JComboBox2中的值。

我现在需要的是加载对话框我想在JComboBox1中手动设置一个项目,而ItemListner应该为JComboBox2触发。

以下代码我在打开对话框的方法中使用。但是ItemListener没有解雇

JComboBox jComboBox1;

populateJComboBox(); // Method to populate JComboBox1

jComboBox1.setSelectedIndex(0);

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

1 个答案:

答案 0 :(得分:2)

代替ItemListener实施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