我有一个小应用程序,通过JPA从MySQL DB生成统计图表。要选择要在统计信息中包含哪些数据库组件,我已安装了2个JComboBox。第一个JComboBox使用Category1的元素填充,第二个JComboBox使用Category2中的元素填充,Category2是Category1的子类别。我想要做的是只使用链接到JComboBox1中的选择的Category2元素填充JComboBox2。
示例:Category1是汽车品牌,Category2是型号;我希望JComboBox2只显示所选品牌的型号,现在它显示每个品牌的每个可用型号。
答案 0 :(得分:5)
首先,在Combobox1上添加一个监听器:
private void comboBox1ItemStateChanged(java.awt.event.ItemEvent evt) {
if (java.awt.event.ItemEvent.DESELECTED == evt.getStateChange()) {
String valueBeforeDeselection = evt.getItem().toString();
// Do something if needed
} else if (java.awt.event.ItemEvent.SELECTED == evt.getStateChange()) {
String valueAfterSelection = evt.getItem().toString();
// Set the values of the ComboBox2
}
}
为了填充ComboBox2,您应该先将其清空
comboBox2.removeAllItems();
comboBox2.addItem("Value 1");
comboBox2.addItem("Value 2");