我想创建一个“通用” JPanel
它可以在任何上级Window
类的呈现(JFrame
,JDialog
,或JInternalFrame
是有些精确。)如何将一个JPanel钩入父代/祖先容器的windowClosing/Closed监听器?
我希望能够“清理”该窗口不再在屏幕上呈现时的一些静态值。通常,我会在创建JFrame
期间用Window
类(如JFrame
)和addWindowListener
以及正确的windowClosing
或windowClosed
方法完成此操作。
由于我希望Window
类中的任何一个能够呈现此类,我甚至不知道要添加哪种类型的侦听器,也不知道要将其添加到哪个窗口。
有没有办法'挂钩'的JPanel
的实现和渲染,以便我可以添加我的关闭挂钩无论Window
类呈现它?
(我看着PropertyChangeListener
,但componentShown
不会对JPanel
渲染触发。)
任何帮助,将不胜感激。
当封闭窗口关闭时,componentHidden不会被“抛出”,我猜是因为组件/ JPanel本身没有更改其可见性属性。它不再呈现。不过,我会研究HierarchyListener。 –
我相信HierarchyListener是比AncestorListener更好的解决方案。效果很好。谢谢,杰夫。 –