【问题标题】:How to convert ArrayList into JList object? java [duplicate]如何将 ArrayList 转换为 JList 对象? java [重复]
【发布时间】:2016-01-18 04:49:42
【问题描述】:

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

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

感谢您的宝贵时间。

【问题讨论】:

  • 使用list.toArray()或单独循环遍历arraylist并将元素添加到JList
  • 我认为你应该像这样通过 JList list = new JList(arl.toArray());

标签: java arraylist


【解决方案1】:

你可以简单地使用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】:
    JList myJList = new JList(arrayList.toArray()); //arrayList should be your Array List
    

    【讨论】:

      【解决方案3】:
      JList delList = new JList(myArrayList.toArray());
      

      【讨论】:

        猜你喜欢
        • 2014-09-23
        • 1970-01-01
        • 2017-09-19
        • 1970-01-01
        • 1970-01-01
        • 2017-06-02
        • 2016-01-24
        • 2014-05-15
        • 2014-04-30
        相关资源
        最近更新 更多