每当数组更改List更改时,我想将JScrollPane中的JList绑定到数组。
答案 0 :(得分:1)
当然,第一个想法是使用JList
的一个构造函数,并希望JList
组件与数组同步更新:
public JList(Object[] listData);
public JList(Vector<?> listData);
显然,这没有用。仅,如果您使用第三个非默认构造函数
public JList(ListModel model);
并使用默认实现DefaultListModel
并直接通过例如
DefaultListModel model = new DefaultListModel();
...
model.setElementAt(value, 25);
通过更新JList
。
DefaultListModel
组件
Java SE提供的是java.util.Arrays.asList(T... a)
方法的“固定大小列表备份指定数组”,比较Java SE API。
但是,这里 Java SE 的支持中断了。没有ListModel
实现“由列表备份”。
我已经尝试过两种方法来克服这个问题:
List
接口
基础DefaultListModel
DefaultListModel
,同步更新基础List
实例。两种方式都没有效果。
因此,我冒昧地说 Java SE尚不支持此功能。您必须编写由JList
实例同步的List
实现的代码,或者等到新的Java分发出现,其中JList's
或DefaultListModel's
由{List
备份。 1}}实例。