我有一个随着更多用户加入聊天室而变大的ArrayList。主JFrame有一个列表框,显示所有当前连接的用户。但是当我尝试将arraylist传递到jframe列表时,我得到以下错误:
" JList类型中的方法setListData(Object [])不适用 对于参数(ArrayList)"
感谢您的时间。
答案 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());