编程语言
首页 > 编程语言> > java-ListSelectionEvent,在单击JList中当前选择的项目时触发事件

java-ListSelectionEvent,在单击JList中当前选择的项目时触发事件

作者:互联网

令’x’为JList中的项目.当我第一次单击它时,将触发该事件,当再次单击它时,该事件将不会触发.我必须单击其他项目,然后返回到“ x”.

我如何从“ x”重复触发事件而不必处理其他项目.

这是我的代码:

public void valueChanged(ListSelectionEvent e) {

    if (e.getValueIsAdjusting() == false) {

       if (list.getSelectedIndex() == -1) {} else {
            String clicked = (String)list.getSelectedValue();



            //method to fire is here

        }
    }
    updateDisplays();

}

解决方法:

ListSelectionListener反映了对列表选择的更改,您可以改用MouseListener …

例如…

MouseListener ml = new MouseAdapter() {
    @Override
    public void mouseClicked(MouseEvent evt) {
        if (SwingUtilities.isLeftMouseButton(evt) && evt.getClickCount() == 1) {
            if (list.getSelectedIndex() != -1) {
                int index = list.locationToIndex(evt.getPoint());
                System.out.println("You clicked item  @ " + index);
            }
        }
    }
}

list.addMouseListener(ml);

标签:jlist,listselectionlistener,swing,java
来源: https://codeday.me/bug/20191029/1962767.html