我遇到一个问题,我有JSplitPane
有两个组件,左边是JPanel
,右边是第二个JSplitPane
,其中包含JTextArea
&#39 ; S。
问题是,我的程序开始聚焦第二个JSplitPane
的顶部(按预期),但是当我点击JPanel
时,它没有聚焦,因此我按任何键激活我添加到JPanel
的关键监听器由JTextArea
回复(通常通过写信)。
答案 0 :(得分:3)
仅为具有焦点的组件生成KeyEvents。默认情况下,JPanel不可聚焦。您可以使面板具有可调焦性。
然而,更好的解决方案是使用Key Bindings,即使面板没有焦点也可以使用{{3}}。 Key Bindings
是较新的API,Swing旨在与Key Bindings一起使用。