Если вы не хотите, чтобы ваше приложение закрывалось при закрытии JFrame
, используйте
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE)
вместо
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Из документации :
DO_NOTHING_ON_CLOSE
(определено в WindowConstants): ничего не делать; требуется, чтобы программа обрабатывала операцию в методе windowClosing зарегистрированного объекта WindowListener.
HIDE_ON_CLOSE
(определено в WindowConstants): автоматически скрывать фрейм после вызова любых зарегистрированных объектов WindowListener.
DISPOSE_ON_CLOSE
(определено в WindowConstants): автоматически скрывать и удалять кадр после вызова любых зарегистрированных объектов WindowListener.
EXIT_ON_CLOSE
(определено в JFrame): выйти из приложения, используя метод выхода из системы. Используйте это только в приложениях.
Это был мой ответ до того, как вопрос прояснился, все еще может быть полезным:
Вы можете использовать setVisible(false)
на вашем JFrame
, если хотите снова отобразить тот же кадр.
В противном случае позвоните dispose()
на , чтобы удалить все ресурсы собственного экрана .