Создание кнопок и ввод их в панель управления.
Создание кнопок и ввод их на страницы «блокнота».
Создание панелей апплета.
Методические указания. Апплет должен быть создан на основе шаблонов, содержащихся в Приложении 4(или при помощи системы Java Applet Wizard).
Объявление элементов класса апплета.
В классе апплета объявим следующие элементы - ссылки на объекты классов:
Panel cardPanel, controlPanel;
Button btn1,btn2,btn3,btnPrev,btnNext;
В поле cardPanel будет храниться ссылка на панель «блокнота», страницы которого содержат кнопки. Эта панель будет располагаться в верхней части окна апплета.
Поле controlPanel будет использоваться для хранения ссылки на панель кнопок, предназначенных для перелистывания страниц «блокнота» cardPanel.
Ссылки на кнопки, расположенные на страницах «блокнота», будут сохраняться в полях btn1, btn2 и btn3.
Ссылки на кнопки, предназначенные для перелистывания страниц, будут записываться в поля btnPrev и btnNext.
Инициализация апплета ( метод init()).
В этом методе необходимо создать панели и добавить в них компоненты. Сначала установим желтый (Color.yellow) цвет фона окна апплета методом setBacground(). Затем выберем для окна апплета схему размещения GridLayout (сетка 2х1), используя метод setLayout() апплета.
Создадим объекты cardPanel и controlPanel класса Panel. Затем установим для панелей менеджеры размещения (вызывая метод setLayout() для объектов cardPanel и controlPanel): для панели cardPanel - менеджер размещения CardLayout, а для панели controlPanel - менеджер FlowLayout.
Создадим кнопки btn1, btn2 и btn3 с надписями "1st button", "2nd button" и "3rd button" соответственно. После создания кнопок добавим их по очереди в панель cardPanel, заполняя страницы «блокнота».
Создадим кнопки btnPrev и btnNext с надписями "Previous" и " Next " соответственно. После создания кнопок добавим их по очереди в панель controlPanel.
Ввод панелей в апплет. После завершения формирования панелей cardPanel и controlPanel добавим их по очереди в апплет при помощи метода add() аплета.
Отрисовка содержимого окна ( метод paint()).
Так как апплет не выводит в окно никаких графических изображений, то в этом методе не делается никаких действий.
Обработка событий ( метод action()).
Переопределим в класса апплета метод action(), вызываемый при нажатиях на кнопку (и при некоторых других действиях пользователя). В данном случае он будет обрабатывать события, поступающие от кнопок, расположенных в обеих панелях. Сначала создадим шаблон этого метода:
public boolean action(Event evt, Object obj)
{
// обработка событий от кнопок
if(evt.target instanceof Button) // объект является кнопкой?
{ // получаем ссылку на кнопку, вызвавшую событие
Button btn=(Button)evt.target;
// получаем метку кнопки
String lbl=btn.getLabel();
// проверка, от какой именно кнопки пришло событие
// и обработка события от этой кнопки
// ..................................
return true; // если событие обработано, иначе return false
}
// необработанные события передаем на дальнейшую обработку
return false;
}