|
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. |
Событие dispatchEvent(Event event, EventDispatchChain tail)
EventDispatcher. Делает любую необходимую обработку событий. И событие и его дальнейший путь могут быть изменены в этом методе. Если событие не обрабатывается / использованный во время фазы получения, оно должно быть диспетчеризировано остальной части цепочки (event = tail.dispatch(event);).event - событие действительно диспетчеризируетtail - остальная часть цепочки, чтобы диспетчеризировать событиеnull если событие было обработано / использованныйCopyright (c) 2008, 2013, Oracle и/или его филиалы. Все права защищены. Использование подвергается .