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