Java JInternalFrame和Keybinding

Java JInternalFrame和Keybinding,java,swing,user-interface,jinternalframe,Java,Swing,User Interface,Jinternalframe,如何将功能键(如F11等)绑定到JInternalFrame,以便激活特定操作 我尝试了以下方法 this.getInputMap().put(KeyStroke.getKeyStroke("F11"), new AbstractAction() { public void actionPerformed(ActionEvent e) { System.out.println("Called"); } })

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

我尝试了以下方法

  this.getInputMap().put(KeyStroke.getKeyStroke("F11"), new AbstractAction() {
        public void actionPerformed(ActionEvent e) {
               System.out.println("Called");
            }
        });
但从来没有人打过电话? 或者,请建议如何使用功能键激活JInternalFrame内的按钮

谢谢
Azlam

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

因此,您可能应该使用

internalFrame.getRootPane()

您可能还需要使用

"WHEN_ANCESTOR_OF_FOCUSED_COMPONENT" 
输入地图


上的博客文章对此进行了更详细的解释。

JInternalFrame
键侦听器和
键绑定方面存在问题。要解决此问题,请尝试使用
JDialog
而不是
JInternalFrame