2011-03-17 102 views
2

我有一个小应用程序,它可以通过JPA从MySQL DB生成统计图表。要选择要在统计信息中包含哪些数据库组件,我安装了2个JComboBoxes。第一个JComboBox使用Category1的元素填充,第二个JComboBox使用来自Category2的元素,这是Category1的子类别。我想要做的只是将JComboBox2填充到链接到JComboBox1中的选择的Category2的元素。根据另一个JComboBox的选择更改JComboBox的元素

示例:Category1是汽车品牌,Category2是车型;我希望JComboBox2仅显示所选品牌的型号,现在它显示每个品牌的每种可用型号。

回答

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");