如何将 ArrayList 转换为 JList 对象?爪哇 [英] How to convert ArrayList into JList object? java
问题描述
我有一个 ArrayList,随着越来越多的用户加入聊天室,它会变得更大.主 JFrame 有一个列表框,显示所有当前连接的用户.但是当我尝试将 arraylist 传递到 jframe 列表时,我收到以下错误:
I have an ArrayList that gets larger as more users join a chatroom. The main JFrame has a list box that displays all currently connected users. But when i try to pass the arraylist into the jframe list i get this following error:
"类型JList中的方法setListData(Object[])不适用对于参数 (ArrayList)"
"The method setListData(Object[]) in the type JList is not applicable for the arguments (ArrayList)"
感谢您的时间.
推荐答案
你可以简单地使用 setListData(arrayList.toArray())
或者您可以编写自己的 ListModel
,例如由 ArrayList
支持...
Or you could write your own ListModel
, which is backed by the ArrayList
, for example...
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))
或一些这样的
Then you could just do list.setModel(new ListBasedListModel(arrayList))
or some such
查看如何使用列表了解更多信息详情
这篇关于如何将 ArrayList 转换为 JList 对象?爪哇的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!