当我使用此代码时,我会得到"删除";作为快捷方式。我想得到";Del";(删除键(
private JMenuItem delRef = null;
del = new JMenuItem("delete");
del.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, 0));
根据相关帖子中的回答,我发现您请求的keyCode
(getKeyStroke
的第一个参数(是110
。
然后我做了:
System.out.println(KeyStroke.getKeyStroke(110, 0));
它打印pressed DECIMAL
。
所以你要找的keyCode
实际上是KeyEvent.VK_DECIMAL
,它只对numpad的删除键有效(至少就我测试的情况而言((只有当numlock打开时(。
所以要回答,你可以使用:
JMenuItem item = new JMenuItem("Delete");
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_DECIMAL, 0));
item.addActionListener(e -> System.out.println("Action delete!"));