Если вы имеете в виду, что JVM не закрывается должным образом после закрытия всех окон, посмотрите на следующие моменты:
- убедитесь, что ВСЕ окна расположены правильно, а не просто сделаны невидимыми;это включает невидимое окно, созданное Swing (или AWT) как владелец диалогов без владельца.Для этого вы можете проверить
Window.getWindows()
- и убедиться, что у вас нет активных
Thread
(кроме демонов) после удаления всех окон - и убедиться, что ваше приложение не было запущено Java Web Start,потому что в этом случае вы должны позвонить
System.exit(0)
(это известная ошибка в JWS)
Надеюсь, это поможет ответить на ваш вопрос.
Кроме того, была также эта SOвопрос недавно о сборке мусора из окон Swing.