2017-03-17 41 views
0

我工作的一个项目中的一个参数是,要么表或列表需要显示多个名称,可从文本文件中读取一个JList。我使用Swing和JList来做这件事,但是我实际上在用新信息更新列表时遇到了很多麻烦。如何积极更新的Java

public void selectTable(ArrayList<String> select) { 
    DefaultListModel model = new DefaultListModel(); 
    model.addElement(select); 
    selectList = new JList(model); 
    selectList.setPreferredSize(new Dimension(690, 230)); 
} 

我继续读,你应该使用默认列表模式来更新它,但每次我尝试那里有对事物的GUI方面没有变化,JList中保持空白。通过调试器查看数组列表,我已进入添加元素方法,但没有任何更改

回答

4

您不能将添加到DefaultListModel

您需要将ArrayList的每个项目添加到DefaultListModel分开。

所以你需要通过ArrayList迭代,并在ArrayList使用addElement(...)方法添加每个项目到模型中。

此外,您不会在代码中显示将JList添加到JScrollPane,然后将JScrollPane添加到框架。

+0

应该是这个样子: JList的JList中=新的JList(模型); JScrollPane的scrollPane1 =新JScrollPane的(JList的); frame.add(scrollPane1,BorderLayout.CENTER); 然后你可以编辑你的框架属性来改变大小。 – user681574

+0

感谢您的快速回复。我没有想到将它添加到滚动窗格,但我必须将它们添加到一个单独的面板,因为这是一个更大的项目的一部分。但是我做得不好,因为现在我根本看不到我的JList。 –

+0

有没有更好的方式来格式化评论?我道歉,我是新来的,我现在非常恐慌。 –