我有JList填充项目。当我点击一个项目然后我点击时,该项目仍然被选中。我的直觉说应该取消选择该项目。有一个简单的方法吗?
我想解决的问题是将鼠标适配器连接到JList,这样每当我点击JList时,都会调用clearSelection()。但这不会影响从列表中选择项目吗?
答案 0 :(得分:1)
这是组件的正确行为。添加另一个MouseListener
不会影响JList
list.addMouseListener(new MouseAdapter() {
@Override
public void mouseExited(MouseEvent e) {
JList list = (JList) e.getSource();
list.clearSelection();
}
});
答案 1 :(得分:1)
如果您在列表中选择了某些内容并离开,则列表元素应保持选择状态。如果您还想要其他内容,则应使用FocusListener
这样的事情:
list.addFocusListener(new FocusAdapter() {
public void focusLost(FocusEvent e) {
JList list = (JList) e.getComponent();
list.clearSelection();
}
});