因此,我有一个扩展AbstractList的自定义列表类。在我的CustomList类中,有两个ArrayLists和各种方法,包括添加/删除对象方法和分别返回两个列表的方法。
现在我通过以下方式显示我的列表:
testJList = new JList(CustomList.returnList1().toArray());
我的returnList1()方法返回ArrayList。
但是当我使用addObject(Object o)的CustomList方法添加对象时, 列表不会更新。
是否可以更新列表并使用我的CustomList类?
我知道对象已成功添加到CustomList的列表中,因为我确保打印成功消息并检查错误。
非常感谢您
答案 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");