2010-06-28 58 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