Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
При работе пользователя с интерфейсом приложения возникает ряд событий – перемещение мыши по экрану, нажатие кнопок клавиатуры (например, ввод текста в текстовое поле), открытие/закрытие/перемещение формы, выбор элементов списка, нажатие кнопок и т.д.
Каждое возникающее событие может быть обработано, т.е. в программе указан набор операций (процедура), которые будут выполняться при возникновении данного события.
Событие с одной стороны относится к определенному элементу управления, с другой стороны у каждого элемента управления имеется множество событий, которые могут быть обработаны. Программист сам решает какие события у каких элементов управления обрабатывать, а какие нет. Например, если на форме размещены две кнопки button1 и button2, то мы можем у кнопки button1 запрограммировать (обработать) событие «нажатие на кнопку», а у кнопки button2 запрограммировать событие «перемещение мыши поверх кнопки». Это не значит, что, например, у кнопки button2 не происходит событие «нажатие на кнопку» когда пользователь щелкает на нее, но так как оно не обработано, то никаких специальных действий при этом выполняться не будет.
В Java для реализации механизма обработки событий применен специальный прием программирования, называемый «Слушатель». Суть этого метода в том, что каждому элементу управления может быть назначен специальный объект-слушатель, который прослушивает этот элемент управления на предмет возникновения события, и при его возникновении вызывает метод, определенный внутри объекта-слушателя. Этот метод и содержит операции, определяемые программистом и выполняемые при возникновении данного события.
Для каждого типа события (например «Нажатие на кнопку клавиатуры», «Выбор элемента списка» и т.д.) существует определенный интерфейс (interface), в котором содержатся объявления одного или нескольких методов, вызываемых при возникновении события. Класс-слушатель, предназначенный для обработки событий определенного типа должен реализовать соответствующий интерфейс и определить (реализовать) методы, объявленные в этом интерфейсе.
Таким образом, для реализации обработки события определенного компонента программист должен выполнить следующие действия:
Создание класса слушателя, реализующего соответствующий интерфейс
Реализация в классе слушателя одного или нескольких методов, объявленных в интерфейсе и выполняемых в случае возникновения события.
Создание объекта-слушателя
Назначение объекта-слушателя прослушиваемому объекту (т.е. объекту, у которого необходимо обработать событие). Например:
class MyListener implements ListSelectionListener {
public void valueChanged(ListSelectionEvent e) {
/* последовательность действий, выполняемые в случае возникновения события */
}
}
Создаем объект-слушатель (в конструкторе формы):
MyListener m = new MyListener();
Назначаем объект-слушатель списку list1 с помощью метода списка (JList) addListSelectionListener(ListSelectionListener l):
list1.addListSelectionListener(ml);
Дата публикования: 2015-10-09; Прочитано: 211 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!