Vla*_* T. 18 java swing focus jpanel
我有一个JPanel内部JFrame.我已经注册了一个KeyListener,基于此我想要更新JPanel.我遇到的问题是我不能把注意力集中在上面JPanel,因此我KeyListener不会工作.我已经知道它KeyListener是功能性的,因为我用JFrame它注册了它并且它工作正常.我的代码目前是这样的:
myFrame.setFocusable(false);
myPanel.setFocusable(true);
myPanel.addKeyListener(myKL);
myFrame.add(myPanel);
Run Code Online (Sandbox Code Playgroud)
以前有人遇到过这样的问题吗?我有什么遗漏吗?
PS:我没有任何组件,JPanel我只是在背景上绘制一个图像,所以我需要把焦点放在JPanel本身而不是内部的东西上.
Dav*_*lle 22
虽然您指示面板可以对焦,但面板不会要求对焦.尝试使用myPanel.requestFocus();.
使用setFocusable(true)然后requestFocusInWindow().但后者必须完成之后由含有面板窗口可见,而您可能需要注册一个窗口监听器并执行requestFocusInWindow()窗口激活处理程序代码.
注:后具体的窗口是可见的,不只是打电话后setVisible(true).
| 归档时间: |
|
| 查看次数: |
35479 次 |
| 最近记录: |