在运行时更新JList

时间:2013-11-04 01:32:59

标签: java swing arraylist jlist

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

1 个答案:

答案 0 :(得分:3)

ArrayList换成某种ListModel并使用JList更改JList#setModel的模型

有关详细信息,请参阅How to use Lists

您可以使用DefaultListModel,每当您更新ArrayList时,都需要使用add(int, E)addElement(E)之类的内容更新DefaultListModelremove(int)removeElement(Object)根据您的需求。

这将自动通知JList对模型进行的更改

<强>更新

更复杂的方法可能是使用代理模式,您可以在其中创建ArrayList代理,该代理提供有关何时更改的信息,该信息可以反映在自动模型中。这假设您要导入ArrayList的班级要求您的班级提供ArrayList的实例。

这样您就可以监控addsetremove方法并自动更改ListModel ...