如何将ArrayList转换为JList对象? java的

时间:2016-01-18 04:49:43

标签: java arraylist

我有一个随着更多用户加入聊天室而变大的ArrayList。主JFrame有一个列表框,显示所有当前连接的用户。但是当我尝试将arraylist传递到jframe列表时,我得到以下错误:

  

" JList类型中的方法setListData(Object [])不适用   对于参数(ArrayList)"

感谢您的时间。

3 个答案:

答案 0 :(得分:3)

JList myJList = new JList(arrayList.toArray()); //arrayList should be your Array List

答案 1 :(得分:3)

您只需使用setListData(arrayList.toArray())

即可

或者您可以编写自己的ListModel,由ArrayList支持,例如......

public class ListBasedListModel<T> extends AbstractListModel<T> {

    private List<T> data;

    public ListBasedListModel(List<T> data) {
        this.data = data;
    }

    @Override
    public int getSize() {
        return data.size();
    }

    @Override
    public T getElementAt(int index) {
        return data.get(index);
    }
}

然后你可以做list.setModel(new ListBasedListModel(arrayList))或其他一些

有关详细信息,请查看How to Use Lists

答案 2 :(得分:2)

JList delList = new JList(myArrayList.toArray());