java键击方法调用

时间:2014-11-24 13:39:08

标签: java keystroke

我已多次尝试通过咨询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){         //做东西}});

( - 永远不要添加项目,因此它是一个隐藏的快捷方式) 但这显然是荒谬的。

1 个答案:

答案 0 :(得分:1)

您无法使用JMenuItem创建“隐藏”捷径。一旦JMenuItem被间接添加到JMenuItem(通常通过< - Window< - JMenu< JMenuBarJFrame的捷径就会生效。 - KeyListener)。如果没有该链接,则无法确定是否要触发加速器,因为相同的加速器可能会在不同的应用程序窗口中触发不同的操作。

您需要在要做出反应的组件或框架上使用{{1}}。