Закрытие оконной программы

 

Давайте дополним код нашей первой оконной программы по крайней мере таким образом, чтобы она закрывалась:

import java.awt.*;

import java.awt.event.*;

class First extends Frame{

public static void main(String[] args){

Frame fr=new First();

fr.setSize(400, 150);

fr.setVisible(true);

fr.addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent ev)

{

System.exit(0);

}

});

}

}

 

Немного пояснений по коду. Так как наша программа должна уметь реагировать на внешние события, то мы добавляем строку

...

import java.awt.event.*;

...

 

Далее мы вносим добавления в наш класс First. А именно для созданного внутри него экземпляра fr мы вызываем метод addWindowListener, который добавляет к ннашему классу возможность "прослушивать" оконные события. В качестве параметра метода addWindowListener мы создаем безымянный экземпляр класса WindowAdapter, внутри которого мы пишем обработчик для закрытия окна:

...

public void windowClosing(WindowEvent ev)

{

System.exit(0);

}

...

 

Понятно, что этот обработчик делает не что иное, как закрывает наше окно (конкретно это делает строка System.exit(0);).

 

Все! Компилируем и запускаем программу. Теперь наше окно стало еще больше походить на настоящее - его можно закрыть.