【发布时间】:2014-11-24 13:39:08
【问题描述】:
我曾多次尝试通过咨询 Google 自行找出解决方案,但这个问题看似简单得可笑,却没有记录在案的答案。在我看来。
我只想知道:如何通过按键调用方法? 示例:按 ctrl + up -> 调用方法 zoomUp();
ps:如果该击键可以绑定到 JTextPane,那就太好了。
更新
到目前为止,我的解决方案是:
创建项目:
JMenuItem up = new JMenuItem("up");创建快捷方式:
up.setAccelerator(KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_UP, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
- 通过监听器捕获事件:
up.addActionListener(new java.awt.event.ActionListener() { public 无效 actionPerformed(ActionEvent 事件){ //做事 } });
(- 从不添加项目,所以它是一个隐藏的快捷方式) 但这显然是荒谬的。
【问题讨论】:
-
谢谢您的回复,但我不认为 keyListener 对我来说是正确的解决方案。我不需要检查一键按下/释放。我需要一个按键 = 一个带有 ctrl 等修饰符的键。
-
按键监听器支持 Ctrl 和 Alt 等按键
-
@Haeri 编译并运行上面链接中的教程。您会看到它同时打印键和修饰符。另外,您的评论让我认为您不应该在you've actually tried some of them 之前声称有“没有记录的答案”