2010-06-28 57 views
1

我知道這是一種初學者問題,但我的書沒有解釋它,而API在我不理解時幫助不大。有人請幫我解決這個問題。爲IF語句添加JList數據

我使用NetBeans創建了一個JList,並且所有內容都設置爲NetBeans作爲JList的默認值。

我的目標是讓一個JList顯示一個[x]的列表,如果用戶從JComboBox中選擇「blah」。

我已經得到了在JComboBox使用ActionListener但我不如何添加或從JList刪除項目十分清楚,所以我的問題是:

簡單來說,我會怎麼走關於編碼一種方法來添加和刪除JList

幫助表示讚賞。謝謝:)

回答

1

Netbeans的生成JList用一個簡單的模型:

jList1.setModel(new javax.swing.AbstractListModel() { 
    String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" }; 
    public int getSize() { return strings.length; } 
    public Object getElementAt(int i) { return strings[i]; } 
}); 

這種模式的值不能事後改變。


您可以創建一個新的模型時,你需要改變的值,或宣佈自己的模型:

private DefaultListModel listModel = new DefaultListModel(); 

,改變你的JListCustom Codemodel - 屬性,並進入命名模型(listModel),使生成的代碼看起來是這樣的:

jList1.setModel(listModel); 

jList1 [JList] - model http://img707.imageshack.us/img707/38/sojlistmodelnetbeans.png

在這種模式下,你可以調用add(或addElement)或remove* - 方法之一:

listModel.addElement("Test"); 

請務必閱讀Java教程How to Use Lists以獲取更多信息。

+0

謝謝:D會試試看,看看它是否工作...我真的不知道如何與他們合作:\ – Kitsune 2010-06-28 06:56:24

+0

它的工作!謝謝!!!! – Kitsune 2010-06-28 07:09:30

+1

@Kitsune關於模型如何工作。以下是Swing體系結構的非常好的概述:[Swing體系結構概述](http://java.sun.com/products/jfc/tsc/articles/architecture/) – Taisin 2010-06-28 13:20:34