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