0

如何将功能键说(F11 等)绑定到 JInternalFrame,以便它可以激活特定操作。

我尝试了以下

  this.getInputMap().put(KeyStroke.getKeyStroke("F11"), new AbstractAction() {
        public void actionPerformed(ActionEvent e) {
               System.out.println("Called");
            }
        });

但它永远不会被调用?或者请建议如何使用功能键激活 JInternalFrame 内的按钮。

谢谢阿兹拉姆

4

2 回答 2

1

好吧,焦点永远不是内部框架本身,焦点是内部框架上的一个组件。

所以你可能应该通过使用添加绑定

internalFrame.getRootPane()....

您可能还需要使用

"WHEN_ANCESTOR_OF_FOCUSED_COMPONENT" 

输入地图。

Key Bindings上的博客条目更详细地解释了这一点。

于 2009-11-05T20:14:49.723 回答
0

JInternalFrameKeyListeners和有问题KeyBindings。要解决此问题,请尝试使用JDialog而不是JInternalFrame.

于 2018-05-10T16:17:21.710 回答