Microsoft Visual J++. Создание приложений и аплетов на языке Java

         

Метод handleEvent


Для того чтобы отследить выделение элементов списка, наш аплет переопределил метод handleEvent, обеспечив обработку события с идентификатором Event.LIST_SELECT.

Переопределение метода handleEvent нужно делать внимательно, так как этот метод вызывается при возникновении разных событий, например, при перемещении мыши в окне аплета. Если ваш метод handleEvent не обрабатывает какое-либо событие, он должен передать его одноименному методу из базового класса.

Наш метод handleEvent прежде всего проверяет код события, обрабатывая только события Event.LIST_SELECT, которые создаются при выделении пользователем элементов списка:

if(evt.id == Event.LIST_SELECT)

{

  . . .

}

else

  return super.handleEvent(evt);

Если событие подлежит обработке, наш метод handleEvent получает ссылку на объект, вызвавший событие, и сохраняет ее в переменной ls типа List:

List ls;

ls = (List)evt.target;

Затем метод определяет, какой сисок создал событие, проверяя поле evt.target, а затем получает и записывает выделенную строку в переменную sSelBackground (для списка цветов фона) или sSelForeground (для списка цветов изображения):

if(evt.target.equals(chBackgroundColor))

  sSelBackground = ls.getSelectedItem();

else if(evt.target.equals(chForegroundColor))

  sSelForeground = ls.getSelectedItem();

После этого цвет фона и изображения записывается в строку состояния навигатора в формате (<цвет фона>, <цвет изображения>):

showStatus("(" + sSelBackground + ",

  " + sSelForeground + ")");

После этого метод выполняет перерисовку окна и возвращает значение true - признак того, что он обработал событие:

repaint();

return true;



Содержание раздела