2011-03-17 64 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");