我有JDesktopPane
,可以创建多个JInternalFrame
组件。桌面保留了每个内部框架需要知道的一些变量,因此每次单击内部框架时,都需要检查桌面变量并复制它们。创建内部框架时,我可以复制它们,但是一旦创建了框架,我就不知道如何在每次单击时检查变量。
问题是,如果我在内部框架上使用监听器,我无法使用桌面方法,而且从桌面我不知道如何检查内部框架是否已经单击(因为它在运行时创建内部框架)。我想的是在JDesktopPane
中使用复制变量的方法,并在每次点击任何内部框架时调用(例如,如果点击桌面的任何部分),但我不知道当内部框架被阻挡时(如果有任何内容框架),知道在桌面上触发了什么事件。
那么,每次选择内部框架时,桌面窗格(或任何地方)上是否有任何方法被激活?
答案 0 :(得分:3)
但我不知道当内部帧被阻塞时桌面会触发什么事件
您可以使用InternalFrameListener
。
阅读How to Write and InternalFrameListener上Swing教程中的部分,了解更多信息和工作示例。
我无法使用桌面方法
为什么不呢?
您可以使用内部框架的getDesktopPane()
方法获取桌面窗格。