如何刷新JList中的列表

时间:2018-11-27 21:37:10

标签: java swing awt

因此,我有一个扩展AbstractList的自定义列表类。在我的CustomList类中,有两个ArrayLists和各种方法,包括添加/删除对象方法和分别返回两个列表的方法。

现在我通过以下方式显示我的列表:

testJList = new JList(CustomList.returnList1().toArray());

我的returnList1()方法返回ArrayList。

但是当我使用addObject(Object o)的CustomList方法添加对象时, 列表不会更新。

是否可以更新列表并使用我的CustomList类?

我知道对象已成功添加到CustomList的列表中,因为我确保打印成功消息并检查错误。

非常感谢您

1 个答案:

答案 0 :(得分:1)

为此目的,有一个特定的接口实现称为ListModel的发布订阅模式(如注释中所述),从而为图形组件提供了在需要时重绘的机制。 List接口并非旨在提供这种机制。 DefaultListModel是ListModel的内置实现。

JList<String> myList = new JList<>();
DefaultListModel<String> myModel = new DefaultListModel<>();
myModel.addElement("My string");
myList.setModel(myModel);
myModel.addElement("Another string");