[英]Delete selected elements on the JList while ALT + click
我有一个JList
。 每当我在列表上同时按ALT +鼠标单击时,我想删除已选择的值。 怎么做? 我不知道要使用哪个监听器。
问题是,当我选择了值并再次单击列表时,旧选择丢失了,新项目被选中了。
我做了:
list.addMouseListener(new MouseListener() {
...
@Override
public void mousePressed(MouseEvent e) {
System.out.println(e);
int[] selected = list.getSelectedIndices();
if(selected.length > 0 && (e.getModifiers() & InputEvent.ALT_MASK) == InputEvent.ALT_MASK ){
System.out.println("tu ");
for(int i: selected){
model.remove(i);
}
}
}
....
}
但是问题是只有一个元素被删除。 我按一下这个
问题是,当我选择了值并再次单击列表时,旧选择丢失了,新项目被选中了。
Alt + mousePressed用于更改选择。 这是Alt键的常用用法。 尝试在任何应用程序(例如Windows资源管理器)上使用此组合键,以了解其工作原理。
因此,更好的实现方式可能是使用不同的鼠标键组合。 我不确定标准是什么,但是我建议可能仅使用“ Delete”键删除所选项目。 当然,您应该弹出一个确认对话框。 对于使用鼠标,我将使用右键单击时会显示的弹出菜单,并且该菜单将包含“删除”操作。 再次出现确认对话框。
请记住,每次构建应用程序时,用户都应该能够使用键盘或鼠标来实现操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.