我有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!");
}
而且,其他变化,但我仍然在画空白。
有人可以赐教。
答案 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)
组合框的动作事件发生在组合框的值更改时,因此您的代码应在第一个组合框的事件处理程序中工作