Java ComboBoxes依赖于另一个组合框

时间:2016-05-23 11:44:57

标签: java netbeans combobox

我有ArrayList个用于填充ComboBox(经理)的对象,如下所示:

testingPeople people = new testingPeople();
people.loadPeople();
ArrayList<Person> testing = new ArrayList<Person>();
testing = people.getManagerList();
for (int i=0; i < testing.size(); i++) {
    jComboBox1.addItem(testing.get(i));
}

现在,我想根据第一个ComboBox中选择的值填充第二个ComboBox(下属)。在事件处理程序中,我尝试了以下内容:

if (jComboBox1.getSelectedItem().equals("Insert Name here")) {
    jComboBox2.addItem("it works!");
}

而且,其他变化,但我仍然在画空白。

有人可以赐教。

2 个答案:

答案 0 :(得分:0)

jComboBox2的项目监听器中添加与填充jComboBox1相对应的代码。例如,

ItemListener itemListener = new ItemListener() {
    @Override
    public void itemStateChanged(ItemEvent evt) {
        String item = (String) evt.getItem();
        switch (item) {
            case "Item 1":
                jComboBox2.removeAllItems();
                jComboBox2.addItem("A");
                jComboBox2.addItem("B");
                jComboBox2.addItem("C");
                break;
            case "Item 2":
                jComboBox2.removeAllItems();
                jComboBox2.addItem("E");
                jComboBox2.addItem("F");
                jComboBox2.addItem("G");
                break;
        }
    }
};
jComboBox1.addItemListener(itemListener);

答案 1 :(得分:0)

组合框的动作事件发生在组合框的值更改时,因此您的代码应在第一个组合框的事件处理程序中工作