2017-03-17 39 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

有沒有更好的方式來格式化評論?我道歉,我是新來的,我現在非常恐慌。 –