Spec-Zone .ru
спецификации, руководства, описания, API
|
public interface EventDispatcher
EventDispatcher
представляет событие диспетчеризирующий и обрабатывающий объект. Это используется когда Event
потребности, которые будут диспетчеризированы связанному EventTarget
через EventDispatchChain
определенный к установленному сроку. Каждый EventDispatcher
в цепочке может влиять на путь события и событие непосредственно. Один EventDispatcher
может появиться в кратных цепях. Система определяет две последовательных фазы поставки события. Первую фазу вызывают, получая фазу и происходит когда, когда событие перемещается из первого элемента EventDispatchChain
связанный с событием предназначаются к его последнему элементу. Если цель события является частью некоторой иерархии, направление события в этой фазе обычно соответствует направлению от корневого элемента иерархии к цели. Вторую фазу вызывают, пузырясь фаза и происходит в обратном порядке с первой фазой. Таким образом, событие возвращается назад из последнего элемента EventDispatchChain
к его первому элементу в этой фазе. Обычно это соответствует направлению от цели события назад к корню в конечном счете иерархия цели.
Каждый EventDispatcher
в EventDispatchChain
ответственно за передачу события к остальной части цепочки во время диспетчеризации события. Эта передача происходит в dispatchEvent
метод и формы цепочка вложенных вызовов, которая позволяет тот EventDispatcher
видеть событие во время обеих фаз диспетчеризации в сингле dispatchEvent
вызвать.
Шаблон для dispatchEvent
реализация.
public Event dispatchEvent(Event event, EventDispatchChain tail) { // capturing phase, can handle / modify / substitute / divert the event if (notHandledYet) { // forward the event to the rest of the chain event = tail.dispatchEvent(event); if (event != null) { // bubbling phase, can handle / modify / substitute / divert // the event } } return notHandledYet ? event : null;}
Модификатор и Тип | Метод и Описание |
---|---|
Событие |
dispatchEvent(Event event, EventDispatchChain tail)
Диспетчеризирует указанное событие этим
EventDispatcher . |
Event dispatchEvent(Event event, EventDispatchChain tail)
EventDispatcher
. Делает любую необходимую обработку событий. И событие и его дальнейший путь могут быть изменены в этом методе. Если событие не обрабатывается / использованный во время фазы получения, оно должно быть диспетчеризировано остальной части цепочки (event = tail.dispatch(event);
).event
- событие действительно диспетчеризируетtail
- остальная часть цепочки, чтобы диспетчеризировать событиеnull
если событие было обработано / использованныйCopyright (c) 2008, 2011, Oracle и/или его филиалы. Все права защищены. Использование подвергается