在jTextField中输入文本后,Java KeyBindings无法正常工作?

时间:2015-10-22 06:22:45

标签: java swing key-bindings hotkeys

基本上,我有一个类似媒体播放器的java程序, PLAY PAUSE FAST FORWARD 选项等

其中也有键绑定。

但是,在另一个JPanel我还有一个JTextField,允许用户输入一些文字作为评论。

如果用户决定撰写某些文字,则此JTextField会被重点关注,而且他们的关键绑定不再有效。

但如果我对所有容器和子容器执行了setFocusable(false),则用户无法在JTextfield中输入文本。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

JComponent#getInputMap默认使用WHEN_FOCUSED

根据您的需要,您可以使用WHEN_ANCESTOR_OF_FOCUSED_COMPONENTWHEN_IN_FOCUSED_WINDOW来更改组件所需的焦点级别,以便响应键输入

有关详细信息,请参阅JComponent#getInputMap(int)How to Use Key Bindings