有没有办法"Del"作为快捷方式而不是"Delete" JMenuItem



当我使用此代码时,我会得到"删除";作为快捷方式。我想得到";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!"));

最新更新