Я хочу создать «универсальный» JPanel
, который можно визуализировать в любом из классов Window
более высокого уровня (JFrame
, JDialog
или JInternalFrame
, если быть точным.)
Я хочу иметь возможность «очистить» некоторые статические значения, когда это окно больше не отображается на экране. Обычно я делаю это с классом Window
(например, JFrame
) и просто addWindowListener
с надлежащими windowClosing
или windowClosed
методами во время создания JFrame
.
Поскольку я хочу, чтобы какой-либо из классов Window
мог это отобразить, я даже не знаю, какой тип слушателя добавить, и не знаю, к какому окну добавить его.
Есть ли способ «зацепить» реализацию и рендеринг JPanel
, чтобы я мог добавить свои ловушки отключения независимо от того, какой класс Window
его отображает?
(Я смотрел на PropertyChangeListener
, но componentShown
не срабатывает при JPanel
рендеринге.)
Буду признателен за любую помощь.