0

我将如何JList在程序运行时更新?我正在ArrayList从另一个类中导入一个,并将其放入列表中。当用户将某些内容添加到数组列表中时,我将制作它,它将出现在屏幕上的列表中。

4

1 回答 1

3

ArrayList使用某种包装ListModel并更改JList's 模型JList#setModel

有关详细信息,请参阅如何使用列表

您可以使用DefaultListModel,无论何时更新ArrayList,都需要更新 ,但DefaultListModel使用类似add(int, E)addElement(E)、或根据您的需要。remove(int)removeElement(Object)removeAllElements

这将自动通知JList对模型所做的更改

更新

更复杂的方法可能是使用代理模式,您可以在其中创建一个ArrayList代理,该代理提供有关何时更改的信息,这些信息可以反映在自动模型中。这假设您要导入ArrayListfrom 的类向您的类询问ArrayList.

这样,您可以监视add,setremove方法并ListModel自动更改...

于 2013-11-04T01:33:43.470 回答