本文介绍了如何ArrayList的转换成JList的对象吗? 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(对象[])是不适用
  对于参数(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(新ListBasedListModel(ArrayList的))或一些这样的

看一看了解细节

这篇关于如何ArrayList的转换成JList的对象吗? java的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-11 06:40