繁体   English   中英

按住ALT键并单击时,删除JList上的选定元素

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM