|
руктором диалоговая панель не
появляется на экране. Мы отображаем ее, вызывая метод show.
Класс MessageBox
Для отображения названий выбранных строк меню мы создаем диалоговую панель,
определив свой класс MessageBox на базе класса Dialog, как это показано ниже:
class MessageBox extends Dialog
{
. . .
}
В классе MessageBox есть два поля, конструктор, методы handleEvent и action.
Поля класса MessageBox
Внутри диалоговой панели мы расположили текстовое поле класса Label,
предназначенное для отображения сообщения, и кнопку с надписью OK, с помощью
которой можно завершить работу диалоговой панели.
Ссылка на текстовое поле хранится в поле lbMsg, на кнопку - в поле btnOK.
Конструктор класса MessageBox
Наш конструктор создает диалоговую панель с заданным сообщением внутри нее.
Ссылка на строку сообщения передается конструктору через первый параметр.
Остальные параметры используются конструктором базового класса Dialog для
создания диалоговой панели:
super(parent, sTitle, modal);
После вызова конструктора из базового класса наш конструктор устанавливает
размеры окна созданной диалоговой панели, вызывая метод resize:
resize(200, 100);
Отменяя установленный по умолчанию режим размещения компонент BorderLayout,
конструктор устанавливает режим GridLayout:
setLayout(new GridLayout(2, 1));
Окно диалоговой панели при этом разделяется на две части по горизонтали. В
верхнюю часть добавляется текстовое поле для отображения сообщения, в нижнюю -
кнопка OK:
lbMsg = new Label(sMsg, Label.CENTER);
add(lbMsg);
btnOK = new Button("OK");
add(btnOK);
Метод handleEvent класса MessageBox
Когда пользователь пытается закрыть окно диалоговой панели, например, сделав
двойной щелчок левой клавишей мыши по системному меню или одиночный щелчок по
кнопке удаления окна, возникает событие Event.WINDOW_DESTROY. Мы его
обрабатываем следующим образом:
if(evt.id == Event.WINDOW_DESTROY)
{
dispose();
return true;
}
else
return super.handleEvent
|
|