我想在JList中显示n个元素的列表。显示列表的3个项目。应该选择一个项目,并取决于该选定项目,最后显示的元素应该是选定的项目。
例如,项目1、2、3、4、5、6、7在列表中。 默认情况下,显示的第一个项目是所选项目: 如果选择项目3,则显示项目3、4、5 -如果选择了项目5,则显示项目5、6、7。
我想要的是以下行为: 选择项目3:显示项目1、2、3。 选择了项目5:显示了项目3、4、5。
有什么想法可以实现吗?
答案 0 :(得分:0)
来自JList的documentation:
ListModel可以通过以下方式直接提供给JList: 构造函数或setModel方法。内容不必是静态的- 项目的数量和项目的值会随着时间而变化。
这可用于更改列表中的值。 这是您如何侦听选择事件的方法:
侦听列表选择更改的首选方法是添加 ListSelectionListeners直接添加到JList。然后,JList会照顾 聆听选择模型并通知您的听众 改变。
因此,实现一个ListModel和一个ListSelectionListener,以更改所述模型。