Подробное руководство по программированию на Java

         

Метод action



Метод action

Метод action обрабатывает события, возникающие в результате выбора новых значений из списков, расположенных на страницах блокнота. Схема обработки событий не имеет никаких особенностей.

Вначале метод action проверяет, что событие вызвано списком класса Choice:

if(evt.target instanceof Choice) { . . . return true; } return false; }

События, связанные с изменением цвета фона, обрабатываются следующим образом:

ch = (Choice)evt.target; if(evt.target.equals(chBgColor)) { if(ch.getSelectedIndex() == 0) pControlled.setBackground( Color.yellow); else if(ch.getSelectedIndex() == 1) pControlled.setBackground( Color.green); else if(ch.getSelectedIndex() == 2) pControlled.setBackground( Color.white); }

Здесь метод setBackground вызывается для объекта, ссылка на который передана конструктору класса и записана в поле pControlled. Это ссылка на панель, размещенную в верхней части окна нашего аплета.

Аналогичным образом изменяется цвет текста и рамки для верхней панели:

else if(evt.target.equals(chFgColor)) { if(ch.getSelectedIndex() == 0) pControlled.setForeground( Color.black); else if(ch.getSelectedIndex() == 1) pControlled.setForeground( Color.red); else if(ch.getSelectedIndex() == 2) pControlled.setForeground( Color.green); }

Для изменения шрифта мы устанавливаем новое значение переменной поля szFontName, определенной в классе FirstPanel:

else if(evt.target.equals(chFont)) { if(ch.getSelectedIndex() == 0) ((FirstPanel)pControlled).szFontName = "TimesRoman"; else if(ch.getSelectedIndex() == 1) ((FirstPanel)pControlled).szFontName = "Helvetica"; else if(ch.getSelectedIndex() == 2) ((FirstPanel)pControlled).szFontName = "Courier"; }

Для того чтобы адресоваться к полю szFontName, нам пришлось выполнить явное преобразование типа ссылки pControlled.

Последнее действие, которое совершает метод action - это перерисовка окна верхней панели, которая выполняется с помощью метода repaint:

pControlled.repaint();

Содержание  Назад  Вперед







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий