gpt4 book ai didi

java - 为什么需要 ListModel 对象?

转载 作者:行者123 更新时间:2023-11-29 03:19:49 25 4
gpt4 key购买 nike

假设我们有一个名为 JList1 的列表。

我们要为它创建一个模型,所以我们当然要使用一个ListModel对象。这就是应该做的。

DefaultListModel<Integer> numbers = new DefaultListModel<>();
numbers.addElement(1);
numbers.addElement(2);
numbers.addElement(3);

jList2.setModel(numbers);

我的问题是为什么我们使用列表模型对象而不是普通列表或集合。我知道的唯一原因是 setModel() 只接受列表模型作为其参数,那么做出这些决定的原因是什么?

最佳答案

如果您查看 DefaultListModel 的 JavaDoc然后你会意识到它提供了几种方法来操作 JList 中的项目,这是使用简单集合不可能实现的。

如果您使用数组或 vector 初始化列表,构造函数会隐式创建一个默认列表模型。默认列表模型是不可变的——您不能添加、删除或替换列表中的项目。要创建其项目可以单独更改的列表,请将列表的模型设置为可变列表模型类的实例,例如 DefaultListModel 的实例。

请查看 How to Use Lists 上的 Swing 教程哪里有详细解释。

关于java - 为什么需要 ListModel 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24345073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com