Все приведенные выше предложения верны в том смысле, что вам необходимо использовать WindowListener.
Однако все ответы также неполны, поскольку они забывают упомянуть, что вы также можете добавить:
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
frame.addWindowListener(...);
Это позволит вашему коду получить полный контроль над процессом закрытия окна, так как окно не закроется автоматически, если вы не скажете это (обычно с помощью метода dispose () на фрейме).Это позволяет запрашивать у пользователя подтверждение о закрытии окна или нет.
Закрытие приложения имеет простой API-интерфейс, позволяющий создавать простое действие, которое выполняется, когда окнозакрыто.Он управляет операцией закрытия и кодом слушателя окна.