|
ic void init()
{
// Устанавливаем желтый цвет фона
setBackground(Color.yellow);
// Создаем в окне аплета две панели, разделяющие
// окно по горизонтали. В верхней панели будет
// находиться блокнот,
// в нижней - кнопки управления блокнотом
setLayout(new GridLayout(2, 1));
// Создаем кнопки блокнота
btn1 = new Button("Button 1");
btn2 = new Button("Button 2");
btn3 = new Button("Button 3");
btn4 = new Button("Button 4");
btn5 = new Button("Button 5");
// Создаем панель блокнота
pCardPanel = new Panel();
// Устанавливаем режим размещения для блокнота
pCardPanel.setLayout(new CardLayout(5, 5));
// Добавляем кнопки в блокнот
pCardPanel.add(btn1);
pCardPanel.add(btn2);
pCardPanel.add(btn3);
pCardPanel.add(btn4);
pCardPanel.add(btn5);
// Добавляем панель блокнота в окно аплета
add(pCardPanel);
// Создаем кнопки управления блокнотом
// Кнопка просмотра следующей страницы блокнота
btnNext = new Button("Next");
// Кнопка просмотра предыдущей страницы блокнота
btnPrev = new Button("Prev");
// Создаем панель кнопок управления блокнотом
pButtonPanel = new Panel();
// Устанавливаем режим размещения для панели кнопок
pButtonPanel.setLayout(new FlowLayout());
// Добавляем кнопки в панель кнопок
pButtonPanel.add(btnNext);
pButtonPanel.add(btnPrev);
// Добавляем панель кнопок
add(pButtonPanel);
}
// -------------------------------------------------------
// action
// Метод вызывается, когда пользователь выполняет
// действие над компонентами
// -------------------------------------------------------
public boolean action(Event evt, Object obj)
{
// Ссылка на кнопку, от которой пришло сообщение
Button btn;
// Проверяем, что событие вызвано кнопкой, а не
// другим компонентом
if(evt.target instanceof Button)
{
// Получам ссылку на кнопку, вызвавшую событие
btn = (Button)evt.target;
// Получаем название кнопки
sTextLabel = btn.getLabel();
// Записываем название кнопки
// в строку состояния навигатора
showStatus("Button (\"" + sTextLabel + "\") pressed");
// Выполняем ветвление по кнопкам. Для каждой кнопки
// записываем ее название
// в строку состояния навигатора
if(evt.target.equals(btnNext))
{
// Выбираем следующую страницу в блокноте
((CardLayout)pCardPanel.getLayout()).next(pCardPanel);
}
else if(evt.target.equals(btnPrev))
{
// Выбираем предыдущую страницу в блокноте
((CardLayout)pCardPanel.getLayout()).previous(pCardPanel);
}
else if(evt.target.equals(btn1))
{
showStatus("Button 1 (\"" + sTextLabel
+ "\") pressed");
}
else if(evt.target.equals(btn2))
{
showStatus("Button 2 (\"" + sTextLabel
+ "\") pressed");
}
else if(evt.target.equals(btn3))
{
showStatus("Button 3 (\"" + sTextLabel
+ "\") pressed");
}
else if(evt.target.equals(btn4))
{
showStatus("Button 4 (\"" + sTextLabel
+ "\") pressed");
}
// Если событие возникло от неизвестной кнопки,
// мы его не обрабатываем
else
{
return false;
}
// Возвращаем признак того, что мы обработали событие
return true;
}
// Если событие вызвано не кнопкой,
// мы его не обрабатываем
return false;
}
}
В листинге 7.2 вы найдете исходный текст документа HTML, созданного для
размещения нашего аплета.
Листинг 7.2. Файл PanelDemo\PanelDemo.html
PanelDemo
The source.
Описание исходного текста
Приведем описание полей и методов, определенных в нашем аплете.
Поля класса PanelDemo
В поле pCardPanel хранится ссылка на панель блокнота
|
|