Создание кнопок и ввод их в панель управления.

Создание кнопок и ввод их на страницы «блокнота».

Создание панелей апплета.

Методические указания. Апплет должен быть создан на основе шаблонов, содержащихся в Приложении 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;

}