如何将 ArrayList 转换为 JList 对象?爪哇 [英] How to convert ArrayList into JList object? java

查看:30
本文介绍了如何将 ArrayList 转换为 JList 对象?爪哇的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆