Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何确定在JPanel(java)中选择哪个子JPanel_Java_Swing_Jpanel - Fatal编程技术网

如何确定在JPanel(java)中选择哪个子JPanel

如何确定在JPanel(java)中选择哪个子JPanel,java,swing,jpanel,Java,Swing,Jpanel,我有一个问题,我有几个类似的JPanels,它们垂直地包含在主JPanel中。我的问题是,我的按钮将只与当前选中(单击)的子JPanel交互 我有一个控制器,它接受主JPanel,我怎么能有一个只返回所选JPanel的方法呢?这是非常困难的。默认情况下,JPanels不可聚焦(它们无法接收键盘焦点) 您可以使用KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner()尝试确定包含当前可聚焦组件的当前面板并使用生成的组

我有一个问题,我有几个类似的
JPanel
s,它们垂直地包含在主
JPanel
中。我的问题是,我的按钮将只与当前选中(单击)的子
JPanel
交互


我有一个控制器,它接受主
JPanel
,我怎么能有一个只返回所选
JPanel
的方法呢?

这是非常困难的。默认情况下,
JPanel
s不可聚焦(它们无法接收键盘焦点)

您可以使用
KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner()尝试确定包含当前可聚焦组件的当前面板
并使用生成的
组件
getParent
方法,但这不能保证,因为聚焦组件可能包含在另一个容器中,包含在您感兴趣的容器中


一个更好的想法可能是使用某种模型将按钮或动作连接到子面板…?

JPanel
s不可聚焦。。。