我是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);

最佳答案

代替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

07-26 08:41