是否有一种方法可以将JMenuItem的“ Del”作为快捷方式而不是“ Delete”

问题描述

使用此代码时,我将获得“删除”作为快捷方式。我想获取“ Del”(删除键)

private JMenuItem delRef = null;

del = new JMenuItem("delete");

del.setAccelerator(Keystroke.getKeystroke(KeyEvent.VK_DELETE,0));

解决方法

an answer in a related post 中,我发现您请求的 keyCodegetKeyStroke 的第一个参数)是 110

然后我做到了:

System.out.println(KeyStroke.getKeyStroke(110,0));

打印 pressed DECIMAL

因此,您要查找的 keyCode 实际上是 KeyEvent.VK_DECIMAL 并且它仅适用于(至少就我测试而言)数字键盘的删除键(仅在 numlock 开启时)。

所以要回答,您可以使用:

JMenuItem item = new JMenuItem("Delete");
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_DECIMAL,0));
item.addActionListener(e -> System.out.println("Action delete!"));

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...