Методические указания. Апплет должен быть создан на основе шаблонов, содержащихся в Приложении 4(или при помощи системы Java Applet Wizard).

События от панели controlPanel.

События от панели cardPanel.

Проверяя, какой именно кнопке равен объект btn, необходимо выполнить следующие действия: при нажатии кнопок btn1, btn2 и btn3 в панели состояния отобразить при помощи функции showStatus() название кнопки, а при нажатии на кнопки btnPrev и btnNext отобразить соответствующую страницу «блокнота». Проверка равенства объекта btn другому объекту осуществляется следующим образом:

if(btn.equals(btn1)) // от кнопки с номером 1?

{ // обработка события от кнопки 1

// .............................

}

Если нажата кнопка btnPrev, то сначала с помощью метода getLayout() получаем ссылку на используемый для панели cardPanel менеджер компоновки, а затем вызываем метод previous() для отображения предыдущей страницы панели cardPanel:

CardLayout cl=(CardLayout)cardPanel.getLayout();

cl.previous(cardPanel);

Аналогичные действия сделаем, если нажата кнопка btnNext, но для отображения следующей страницы вызовем метод next() класса CardLayout.

5. Приложение PanelsDemo2

Задание. Создать апплет двойного назначения PanelsDemo2, в окне которого создаются три панели, расположенные горизонтально (для окна апплета используется менеджер размещения GridLayout) и имеющие рамку по периметру,. В верхней панели рисуется строка текста «Example of Font, Background and Foreground Colors». Средняя панель используется как «блокнот», предназначенный для выбора цвета фона, цвета изображения и шрифта для верхней панели(всего 3 «страницы», панель использует менеджер размещения CardLayout). Нижняя панель содержит управляющие кнопки «Background Color», «Foreground Color» и «Set Text Font», а также «Previous» и «Next», позволяющие перебирать страницы «блокнота».

Объявление элементов класса апплета.

В классе апплета объявим следующие элементы - ссылки на объекты классов:

// верхняя, средняя и нижняя панели

Panel drawPanel; // панель для рисования

Panel cardPanel; // панель для "блокнота"

Panel controlPanel; // панель для кнопок управления

// панели страниц "блокнота"

Panel backgrPanel,foregrPanel,fontPanel;

// меню выбора для панелей страниц "блокнота"

Choice chBackgr,chForegr,chFont;

// кнопки панели управления

Button btnPrev,btnNext,btnBackgr,btnForegr,btnFont;

// строка для хранения названия выбранного шрифта

String fontName;

Ссылки на экземпляры соответствующих классов будут присвоены этим переменным в методе init() апплета.

Инициализация апплета ( метод init()).

В этом методе необходимо создать панели и добавить в них компоненты. Сначала установим желтый (Color.yellow) цвет фона окна апплета методом setBacground(). Затем выберем для окна апплета схему размещения GridLayout (сетка 3х1), используя метод setLayout() апплета.