|
ется режим размещения
FlowLayout:
pButtonPanel.setLayout(new FlowLayout());
Затем кнопки добавляются в панель вызовом метода add:
pButtonPanel.add(btnBackgroundColor);
pButtonPanel.add(btnForegroundColor);
pButtonPanel.add(btnFont);
pButtonPanel.add(btnNext);
pButtonPanel.add(btnPrev);
После формирования панели кнопок эта панель добавляется в окно аплета,
располагаясь в его нижней части:
add(pButtonPanel);
В поле sFontName записывается имя шрифта, выбранного по умолчанию:
sFontName = new String("Helvetica");
На завершающем этапе метод init выполняет принудительную перерисовку и
отображение панелей, вызывая специально предназначенный для этого метод show:
show();
Метод action
Метод action выполняет раздельную обработку событий, вызванных кнопками и
списками.
Если событие было вызвано кнопками, выполняется переключение страниц
блокнота:
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(btnBackgroundColor))
((CardLayout)pCardPanel.getLayout()).show(
pCardPanel, "BackgroundColor");
else if(evt.target.equals(btnForegroundColor))
((CardLayout)pCardPanel.getLayout()).show(
pCardPanel, "ForegroundColor");
else if(evt.target.equals(btnFont))
((CardLayout)pCardPanel.getLayout()).show(
pCardPanel, "Font");
Для выбора следующей и предыдущей страницы здесь использованы методы next и
previous.
Выбор конкретной страницы по ее имени осуществляется с помощью метода show.
В качестве параметров этому методу передается ссылка на панель блокнота и имя
страницы.
Обратите также внимание на способ обработки событий, не имеющих отношения к
нашим компонентам:
return super.action(evt, obj);
Здесь мы вызываем метод action из базового класса, который после
соответствующей обработки события вернет значение true или false.
Если событие вызвано кнопками управления блокнотом, мы перерисовываем окно
верхней панели, окно всего аплета и затем возвращаем признак успешной обработки
события:
pDraw.repaint();
repaint();
return true;
Как вы увидите дальше, в процессе перерисовки окна всего аплета метод paint
выполнит рисование в
|
|