Java предоставляет интерфейс как в awt, так и в swing для обработки оконных событий, именуя слушатель окна
Мы используем метод setDefaultCloseOperation () просто для того, чтобы избежать длинного кодирования на свинге
Слушатель окна переопределяет 7 методов
Именование
public void windowOpened(WindowEvent e) { }
public void windowClosed(WindowEvent e) { }
public void windowActivated(WindowEvent e) { }
public void windowDeactivated(WindowEvent e) { }
public void windowIconified(WindowEvent e) { }
public void windowDeiconified(WindowEvent e) { }
public void windowClosing(WindowEvent e)
{}
Мы должны поместить наш код выхода в последний метод, так как он имеет дело с закрытием окна
В качестве альтернативы мы можем использовать классы адаптера.
Использование класса адаптера имеет преимущество перед слушателем, что позволяет нам переопределять только один или два абстрактных метода, которые нам требуются, а не обязательно все абстрактные методы слушателя. Но проблема с адаптерами заключается в том, что они разработаны как абстрактные классы, и поэтому мы не можем расширять наш класс, поскольку класс уже расширяет Frame (Java не поддерживает множественное наследование).
Например, используйте следующий код в вашей программе
Frame f = new Frame();
f.addWindowListener(new WindowListener ()
{
public void windowClosing(WindowEvent we)
{
System.exit(0);
}
});