如何将ArrayList绑定到JList

时间:2011-06-21 05:11:05

标签: java swing jlist

我有一个JList和一个ArrayList。如何将arraylist中的数据绑定到jlist。是否有任何替代方法?

    ArrayList arl = new ArrayList();
    arl.add("1asdsd");
    arl.add("2asdsd");
    arl.add("3asdsd");  
    Object obj = arl.clone();
    JList list = new JList(obj);

如何绑定上面的代码。现在代码出错了。

5 个答案:

答案 0 :(得分:14)

您不需要克隆ArrayList。只需调用theArray()

即可
JList list = new JList(arl.toArray()); 

答案 1 :(得分:6)

ArrayList<String> aList = new ArrayList<String>();
aList.add("blabla");
aList.add("blublu");
aList.add("blibli");
aList.add("bleble");
DefaultListModel<String> model = new DefaultListModel<String>();
for(String s:aList){
    model.addElement(s);
}
JList<String> contactList = new JList<String>(model);

这样做的好处是,您可以稍后通过使用方法addElement(Obj o)和removeElement(Obj o)向模型添加元素来向已经实例化的JList添加/删除元素。

答案 2 :(得分:3)

JList jList = new JList(arrayList.toArray());

答案 3 :(得分:1)

JList list = new JList(arl.toArray());

答案 4 :(得分:1)

另一种选择是:

DefaultListModel Jlista = new DefaultListModel();

public Form1() {

 jList1.setModel(Jlista);

}

public void yourFunction(){
 Jlista.addElement("newElement");
}