我已多次尝试通过咨询Google自行找到解决方案,但这个问题虽然看起来非常简单,却没有记录在案的答案。在我看来。
我想知道的是:如何通过按键调用方法? 示例:按ctrl +向上 - >调用方法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 void actionPerformed(ActionEvent event){ //做东西}});
( - 永远不要添加项目,因此它是一个隐藏的快捷方式) 但这显然是荒谬的。
答案 0 :(得分:1)
您无法使用JMenuItem
创建“隐藏”捷径。一旦JMenuItem
被间接添加到JMenuItem
(通常通过< - Window
< - JMenu
< JMenuBar
,JFrame
的捷径就会生效。 - KeyListener
)。如果没有该链接,则无法确定是否要触发加速器,因为相同的加速器可能会在不同的应用程序窗口中触发不同的操作。
您需要在要做出反应的组件或框架上使用{{1}}。