2009-11-05 63 views
0

如何將功能鍵say(F11等)綁定到JInternalFrame,以便它可以激活特定的動作。JInternalFrame和Keybinding

我試着用以下

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

但它永遠不會被調用? 或者請建議如何使用功能鍵激活JInternalFrame內的按鈕。

由於 Azlam

回答

1

那麼,焦點是從來沒有內部框架本身上,焦點是內部框架上的部件上。

所以,你或許應該使用

internalFrame.getRootPane()....

添加綁定您可能還需要使用

"WHEN_ANCESTOR_OF_FOCUSED_COMPONENT" 

輸入地圖。

關於Key Bindings的博客文章對此進行了更詳細的解釋。