2011-01-06 102 views
20

我正從數據庫中成功獲取數據值。我也將它們存儲到一個String[]陣列中。我需要加載字符串數組作爲JComboBox的項目,以響應執行的關鍵操作。無論何時按下一個鍵,我如何重新加載JComboBox的項目,因爲取得的值取決於所按的鍵。簡而言之,我需要動態刷新JComboBox項目。動態更改JComboBox

回答

29
DefaultComboBoxModel model = new DefaultComboBoxModel(yourStringArray); 
comboBox.setModel(model); 
+0

謝謝,但你可以請張貼代碼illustrarte這一點。這將非常有幫助。我不確定要在DefaultComboBoxModel類中編寫什麼。 – 2011-01-06 22:06:24

6

您有幾個選項。您可以使用removeAllItems()(或其他刪除方法之一)和addItem(Object anObject)來操作可選對象。或者你可以實現一個ComboBoxModel並允許它提供數組中的數據。

6

這是說明默認組合框模型

public class ComboPanel extends JPanel { 

    JComboBox jcbo; 
    // this is constructor 
    public ComboPanel(ArrayList<String> items) { 
     jcbo = new JComboBox(); 
     // getting exiting combo box model 
     DefaultComboBoxModel model = (DefaultComboBoxModel) jcbo.getModel(); 
     // removing old data 
     model.removeAllElements(); 

     for (String item : items) { 
      model.addElement(item); 
     } 

     // setting model with new data 
     jcbo.setModel(model); 
     // adding combobox to panel 
     this.add(jcbo);  
    } 
} 

演示我希望這將有助於你的答案有點:)