2017-03-04 81 views
1

我想在Netbeans中創建一個Swing GUI。我創建了一個jcombobox,並且將它綁定到一個名爲'Item'的實體上,以便組合框顯示錶格「Item」中當前存在的項目的名稱,因此我使用查詢組件,列表組件和渲染器來綁定它它工作得很好。但是,我需要在組合框中添加「所有項」字段。有人有我應該從哪裏開始的提示嗎?如何將「所有項目」字段添加到jcombobox中

+1

您需要擴展'JComboBox'並在那裏定義該方法。 –

+0

你可以用一個數組初始化一個JComboBox http://www.dreamincode.net/forums/topic/300492-how-to-add-an-object-array-into-a-jcombobox/ – c0der

回答

1

嘗試

List<String> listItems = classDAO.findElement(); 

    DefaultComboBoxModel<String> comboModel = new DefaultComboBoxModel(); 

    for(String string : listItems) 
    { 
     comboModel.addElement(string); 
    } 

    comboModel.addElement("All items"); 

    JComboBox<String> comboBox = new JComboBox<>(comboModel); 
+0

最後,這實際上工作! – Sofia

1

您可以手動從表格中的項目後,項目添加到組合框已被添加到組合框:

comboBox.addItemAt("All Items", 0); 

將在插入新項目組合框的頂部。

+0

我在initComponents()調用之後在構造函數中添加了這個,但是我得到一個異常「不能在非可變數據模型中使用此方法」。 – Sofia

+0

@Sofia:你通常如何「給」你的組合框的數據? –

+0

@sofia,那麼你需要創建一個新的DefautlComboBoxModel,並將每個項目從退出模型複製到新模型。 Gerry在這個答案中已經表明了基本的方法。 – camickr

相關問題