问题描述
使用此代码时,我将获得“删除”作为快捷方式。我想获取“ Del”(删除键)
private JMenuItem delRef = null;
del = new JMenuItem("delete");
del.setAccelerator(Keystroke.getKeystroke(KeyEvent.VK_DELETE,0));
解决方法
从 an answer in a related post 中,我发现您请求的 keyCode
(getKeyStroke
的第一个参数)是 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!"));