我有一个为工作而创建的程序。该程序获取上载的文件,读取该文件,然后将数据放入GUI中的JList中。GUI实际上有两个列表,用户可以像往常一样使用JList突出显示它们,然后单击箭头以移动项目,从而可以在左右列表之间移动项目。列表是多间隔选择。
我要添加的一个小添加项是某种类型的计数器,该计数器向用户显示在实际在列表之间移动它们之前已选择了多少个项目。这将是动态的,因此如果用户按住控件并开始单击计数器,将继续更新突出显示的项目数。
由于列表通常很大,并且用户可能需要在列表之间移动奇数个交易记录(认为左侧列表中有300个交易记录,而用户需要精确地移动50个交易记录),因此拥有此计数器将非常有益。
谁能想到这怎么做?我不确定如何在单击项目时添加动作侦听器。如果需要进一步说明,也请让我知道。
通常,我的问题是我是否可以仅当用户单击JList中的项目来更新当前所选索引的计数器时创建动作侦听器?当他们不再选择索引时,也将需要更改。
向您的JList注册一个ListSelectionListener。
侦听器可以简单地查询选择了多少行,并将面板中的行号更新为该行。也许使用getSelectedValues()。size()。
http://docs.oracle.com/javase/8/docs/api/javax/swing/JList.html#addListSelectionListener- javax.swing.event.ListSelectionListener-