我在 JFrame
中有一个 JPanel
。我已经注册了一个 KeyListener
,我想基于它更新 JPanel
。我遇到的问题是我无法将焦点放在 JPanel
上,因此我的 KeyListener
将无法工作。我已经知道 KeyListener
可以正常工作,因为我用 JFrame
注册了它并且它工作正常。我的代码现在是这样的:
myFrame.setFocusable(false);
myPanel.setFocusable(true);
myPanel.addKeyListener(myKL);
myFrame.add(myPanel);
有没有人遇到过这样的问题?在这方面我有什么遗漏吗?
P.S.:我在 JPanel
中没有任何组件,我只是在背景上绘制了一个图像,所以我需要将焦点放在 JPanel 本身上,而不是它里面的东西。
最佳答案
虽然您表示面板可以聚焦,但面板并不要求聚焦。尝试使用 myPanel.requestFocus();
。
关于java - 获得对 JPanel 的关注,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2135223/