首页 > 解决方案 > 有没有办法让“Del”作为 JMenuItem 的快捷方式而不是“删除”

问题描述

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

private JMenuItem delRef = null;

del = new JMenuItem("delete");

del.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, 0));

标签: javashortcutjmenuitem

解决方案


相关帖子中的答案中,我发现您请求的keyCode(的第一个参数)是.getKeyStroke110

然后我做了:

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!"));

推荐阅读