为什么不能将ArrayList直接添加到Jlist?

为什么不能将ArrayList直接添加到Jlist?,第1张

为什么不能将ArrayList直接添加到Jlist?

包含“ helper”构造函数的目的是使使用

JList
简单数据结构更加容易。

JList
(和许多Swing组件)实际上是指与提供实际数据视图模型中使用。

原始设计可以追溯到将Swing纳入主库之前(在JDK 1.3之前),并且在引入collections
API之前,因此原始开发人员可能无法

List
使用它们(因此包含
Vector
)。

此后很可能没有人适合更新库(部分原因是因为可能已经决定不应该包括原始构造函数,但我没有参加那次会议;))

更好/更简单的解决方案是创建使用自己

List
作为数据源的模型。

例如…

public class MyListModel<T> extends AbstractListModel<T> {    private List<T> people;    public MyListModel(List<T> people) {        this.people = people;    }    @Override    public int getSize() {        return people.size();    }    @Override    public T getElementAt(int index) {        return people.get(index);    }}

然后,您可以随时将其提供给

JList
需要的时间…

JList myList = new JList(new MyListModel<MyObject>(listOfMyObjets));


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5430877.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存