|
// Переменная для хранения ссылки на список,
// вызвавший событие
List ch;
// Получаем ссылку на список
ch = (List)evt.target;
// Проверяем, что событие вызвано списком, а не
// другим компонентом
if(evt.target instanceof List)
{
// Выполняем ветвление по спискам
// Список цвета фона
if(evt.target.equals(chBackgroundColor))
{
// Получаем номер текущего элемента списка
// и устанавливаем соответствующий
// цвет фона
if(ch.getSelectedIndex() == 0)
setBackground(Color.yellow);
else if(ch.getSelectedIndex() == 1)
setBackground(Color.green);
else if(ch.getSelectedIndex() == 2)
setBackground(Color.white);
else if(ch.getSelectedIndex() == 3)
setBackground(Color.black);
else if(ch.getSelectedIndex() == 4)
setBackground(Color.red);
else if(ch.getSelectedIndex() == 5)
setBackground(Color.blue);
}
// Список цвета изображения
else if(evt.target.equals(chForegroundColor))
{
// Получаем номер текущего элемента списка
// и устанавливаем соответствующий
// цвет изображения
if(ch.getSelectedIndex() == 0)
setForeground(Color.black);
else if(ch.getSelectedIndex() == 1)
setForeground(Color.red);
else if(ch.getSelectedIndex() == 2)
setForeground(Color.blue);
else if(ch.getSelectedIndex() == 3)
setForeground(Color.yellow);
else if(ch.getSelectedIndex() == 4)
setForeground(Color.green);
else if(ch.getSelectedIndex() == 5)
setForeground(Color.white);
}
// Если событие возникло от неизвестного списка,
// мы его не обрабатываем
else
{
return false;
}
// Перерисовываем окно аплета
repaint();
// возвращаем признак того, что мы обработали событие
return true;
}
// Если событие вызвано не кнопкой,
// мы его не обрабатываем
return false;
}
// -------------------------------------------------------
// handleEvent
// Обработка событий
// -------------------------------------------------------
public boolean handleEvent(Event evt)
{
// Переменная для хранения ссылки на список
List ls;
// Нас интересуют события, возникающие
// только при выделении нового элемена списка
if(evt.id == Event.LIST_SELECT)
{
// Получаем ссылку на список
ls = (List)evt.target;
// Получаем текущий выделенный цвет фона
if(evt.target.equals(chBackgroundColor))
sSelBackground = ls.getSelectedItem();
// Получаем текущий выделенный цвет изображения
else if(evt.target.equals(chForegroundColor))
sSelForeground = ls.getSelectedItem();
// Пишем цвет фона и изображения в строке
// состояния навигатора
showStatus("(" + sSelBackground
+ ", " + sSelForeground + ")");
// Перерисовываем окно
repaint();
// Возвращаем признак того, что мы обработали
// событие самостоятельно
return true;
}
// Для тех событий, которые мы не обрабатываем,
// вызываем метод handleEvent из базового класа
else
return super.handleEvent(evt);
}
// -------------------------------------------------------
// paint
// Метод paint, выполняющий рисование в окне аплета
// -------------------------------------------------------
public void paint(Graphics g)
{
// Определяем текущие размеры окна аплета
Dimension dimAppWndDimension = size();
// Рисуем рамку вокруг окна аплета
g.drawRect(0, 0,
dimAppWndDimension.width - 1,
dimAppWndDimension.height - 1);
// Рисуем строку
g.drawString("Смотри на цвет фона и текста!", 10, 120);
// Отобр
|
|