Java 在桌面窗格中,是否有方法可以知道内部框架的焦点何时更改为不同的焦点?

Java 在桌面窗格中,是否有方法可以知道内部框架的焦点何时更改为不同的焦点?,java,swing,focus,jinternalframe,jdesktoppane,Java,Swing,Focus,Jinternalframe,Jdesktoppane,我有一个JDesktopPane,它创建了几个JInternalFrame组件。桌面保留一些每个内部框架都需要知道的变量,因此每次单击内部框架时,它都需要检查桌面变量并复制它们。当创建内部框架时,我可以复制它们,但是一旦创建了框架,我不知道如何让它在每次单击时检查变量 问题是,如果我在内部框架上使用侦听器,我就不能使用桌面的方法,从桌面上我不知道如何检查是否已单击内部框架(因为它在运行时创建内部框架)。我的想法是在JDesktopPane中使用一种方法,该方法复制变量,并在每次单击任何内部帧时调

我有一个
JDesktopPane
,它创建了几个
JInternalFrame
组件。桌面保留一些每个内部框架都需要知道的变量,因此每次单击内部框架时,它都需要检查桌面变量并复制它们。当创建内部框架时,我可以复制它们,但是一旦创建了框架,我不知道如何让它在每次单击时检查变量

问题是,如果我在内部框架上使用侦听器,我就不能使用桌面的方法,从桌面上我不知道如何检查是否已单击内部框架(因为它在运行时创建内部框架)。我的想法是在
JDesktopPane
中使用一种方法,该方法复制变量,并在每次单击任何内部帧时调用(例如,如果桌面的任何部分都被单击),但我不知道在单击内部帧(如果有)时,桌面会触发什么事件

那么,在桌面窗格(或任何地方)上是否有任何方法可以在每次选择内部框架时激活

但我不知道当对内部帧进行剪辑时,桌面会触发什么事件

您可以使用
InternalFrameListener

有关更多信息和工作示例,请阅读上Swing教程的部分

我不能使用桌面的方法

为什么不呢

您可以使用内部框架的
getDesktopPane()
方法获取桌面窗格