Иллюстрированный самоучитель по Java

События

Кроме событий класса Component: ComponentEvent, FocusEvent, KeyEvent, MouseEvent, при изменении размеров окна, его перемещении или удалении с экрана, а также показа на экране происходит событие windowEvent.

Программа листинга 10.5 создает два окна типа Frame, в которые помещаются строки – метки Label. При закрытии основного окна щелчком по соответствующей кнопке в строке заголовка или комбинацией клавиш ALT + F4 выполнение программы завершается обращением к методу system.exit (0), и закрываются оба окна. При закрытии второго окна происходит обращение к методу dispose (), и закрывается только это окно.

Листинг 10.5. Создание двух окон.

import java.awt.*;
import java.awt.event.*;
class TwoFrames{
public static void main(String[] args){
Fr1 fl = new Frl(" Основное окно");
Fr2 f2 = new Fr2(" Второе окно");
}
}
class Frl extends Frame{
Fr1(String s){
super(s);
setLayout(null);
Font f = new Font("Serif", Font.BOLD, 15);
setFont(f);
Label 1 = new Label("Это главное окно", Labe1.CENTER);
l.setBounds(10, 30, 180, 30);
add(l);
setSize(200, 100);
setvisible(true);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent ev){
System.exit (0);
}
});
}
}
class Fr2 extends Frame{ Fr2(String s){
super(s);
setLayout(null);
Font f = new Font("Serif", Font.BOLD, 15);
setFont(f);
Label I <strong>=</strong> new Label("Это второе окно", Label.CENTER);
l.setBounds(10, 30, 180, 30);
add(l);
setBounds(50, 50, 200, 100);
setvisible(true);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent ev) {
dispose ();
}
});
}
}

На рис. 10.5 показан вывод этой программы. Взаимное положение окон определяется оконным менеджером операционной системы и может быть не таким, какое показано на рисунке.

Иллюстрированный самоучитель по Java › Основные компоненты › События
Рис. 10.5. Программа с двумя окнами

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.