Иллюстрированный самоучитель по Java
События
Кроме событий класса
Component: ComponentEvent, FocusEvent, KeyEvent, MouseEvent
, при изменении
размеров окна, его перемещении или удалении с экрана, а также показа на экране
происходит событие windowEvent.
Программа листинга 10.5 создает
два окна типа Frame, в которые помещаются строки — метки Label. При закрытии
основного окна щелчком по соответствующей кнопке в строке заголовка или комбинацией
клавиш <Alt>+<F4> выполнение программы завершается обращением к
методу system.exit (0), и закрываются оба окна. При закрытии второго окна происходит
обращение к методу dispose (), и закрывается только это окно.
Листинг 10.5.
Создание двух окон
import j ava.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
=
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 показан вывод этой
программы. Взаимное положение окон определяется оконным менеджером операционной
системы и может быть не таким, какое показано на рисунке.
Рис. 10.5.
Программа с двумя окнами