我正在处理一些奇怪的遗留代码。他们有一个实现 JPanel 的自定义对象。该JPanel
对象是主应用程序中的辅助弹出屏幕。我遇到的问题是检测辅助弹出屏幕何时关闭。
我尝试WindowListener
为该类实现一个,但是当我尝试添加它时,没有JFrame
与该对象关联。我假设这是因为他们正在使用自定义对象并且它是嵌入式弹出屏幕。
我试图检索一个JFrame
使用:
JFrame parentFrame = (JFrame) SwingUtilities.getWindowAncestor(this);
在 a 上失败了NullPointerException
。我不知道为什么在此页面上检测到右上角的“x”关闭按钮如此困难!我应该提到他们能够将鼠标和按键监听器添加到嵌入在JPanel
. 但是整个窗口的外部监听器给我带来了麻烦。
(请多多包涵,这是我的第一篇 stackoverflow 帖子,我是 Swing 新手。)
非常感谢!!