Просто возможный подход ...
Создайте класс, назовите его WindowManager
, который управляет созданием и удалением окон.
Например, он может сохранить счет окон, открытых в данный момент, и разрешают операцию удаления только в том случае, если существует более одного «живого» окна, в противном случае отображается подтверждающее сообщение с JOptionPane
, сообщающее пользователю «Действительно закрыто? Это приведет к прекращению работы приложения».или что-то в этом роде.
"Хитрая" часть заключается в том, что вы должны выполнять подобные операции с окнами на протяжении WindowManager
, иначе все облажалось бы.
Не знаю, если Swingесть что-то вроде этого встроенного, я никогда не видел такой сценарий.