JList:先前选择的项目 [英] JList: previous selected item

查看:141
本文介绍了JList:先前选择的项目的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个JList并注册了一个选择处理程序(ListSelectionListener). 现在,我现在需要上一个选定的项目/索引.

I have a JList and register a selection handler (ListSelectionListener). Now I need to now the previous selected item/index.

到目前为止,我自己保存了最后选择的项目.有更好的方法吗? 换句话说:这些年来,我是否错过任何一种方法/最佳实践?!

Up to now, I save the last selected item on my own. Is there a better way to do so? In other words: Is there are methode/best practice which I miss all the years?!

推荐答案

我的列表中只有一个是单选.如kleopatra所说.事件数据在这里无济于事.

One of my list is single-selection-only. like kleopatra says. The event data does not help here.

那不是克里奥帕特拉所说的.事件数据确实有帮助.您只是不能假设第一个索引代表所选行,而最后一个索引代表前一行.

That is not what Kleopatra said. The event data does help. You just can't assume that the first index represents the selected row and the last index represents the previous row.

正如克娄巴特拉建议的那样,您需要做进一步的检查.像这样:

As Kleopatra suggested you need to do further checking. Something like:

public void valueChanged(ListSelectionEvent e)
{
    JList list = (JList)e.getSource();
    int selected = list.getSelectedIndex();
    int previous = selected == e.getFirstIndex() ? e.getLastIndex() : e.getFirstIndex();

    System.out.println();
    System.out.println("Selected:" + selected);
    System.out.println("Previous:" + previous);
}

这篇关于JList:先前选择的项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆