我正在制作一个基于swing的应用程序,在其中有一个JList,它会定期更新相同数据的不同排序方式,并且偶尔更新新项目,以及较少的项目。我正在尝试找出使其看起来最好的方法。目前,我只是调用:
JList.setListData(String [] data);
这样做看起来不太好,而且会清除选定的项目。
我希望有一种更新的方法,只有在从列表中删除选定项目时才清除它们,否则保持相同的选定项目,即使它们的索引发生了变化。我考虑过跟踪哪些索引被选中,然后在更改数据后设置选定项目,但那听起来很糟糕。我还看了看ListModels并跟踪我的自己,但似乎选定哪些项目是在JList本身中保留的,所以这也无法完美解决问题。
非常感谢任何建议。
setListData()
的实现是否相关?sscce(例如这个)可能会有所帮助。 - trashgod