有没有一种方法可以知道内部框架的焦点何时更改为桌面窗格中的不同焦点?



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

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

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

但我不知道当内部框架被破坏时,桌面会触发什么事件

您可以使用InternalFrameListener.

阅读 Swing 教程中关于如何编写和 InternalFrameListener 的部分,了解更多信息和工作示例。

我无法使用桌面的方法

为什么不呢?

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

最新更新