我究竟如何使用该fireContentsChanged()
方法java.swing.AbstractListModel
?ListModel
当某些's 元素的“内容”发生更改时,将调用此方法。
- 这是否仅仅意味着索引的对象发生了某种变化?
- 或者它是否还包括索引的对象被替换为不同的对象?
- 您可以将其用于添加/删除的索引吗?例如,假设我从列表中的任意位置删除 10 个随机元素。
index0
我给什么index1
?如果我在随机位置插入 10 个元素怎么办?
我究竟如何使用该fireContentsChanged()
方法java.swing.AbstractListModel
?ListModel
当某些's 元素的“内容”发生更改时,将调用此方法。
index0
我给什么index1
?如果我在随机位置插入 10 个元素怎么办?AbstractListModel
ListModel
是提供方法的具体实现的抽象实现ListDataListener
,但它内部不包含特定的数据结构。相应ListDataEvent
的接收允许监听JList
更新自身以响应ListModel
. DefaultListModel
是一个典型的在内部AbstractListModel
操作 a的具体子类。Vector
该来源说明了典型用法。特别fireContentsChanged()
是“当列表的内容以一种过于复杂而无法用以前的方法来描述的方式发生变化时发送”fireIntervalAdded()
或fireIntervalRemoved()
. 因为Vector
是原始的遗留DefaultTableModel
物,所以您需要使用更灵活的替代方案;index0
和index1
参考您选择的数据结构的元素。
如果我在随机位置插入 10 个元素怎么办?
然后index0
并且index1
应该“支持更改”。
“括号更改”是什么意思?
在这种情况下,括号用作包含或包含的动词含义;index0
应该包括最低变化的索引,并且index1
应该包括最高变化的索引。该范围可能包括中间单元格,即使它们没有更改。令人高兴的是,likeJTable
只JList
渲染可见单元格,因此边际成本是有界的;更多在这里。