Spec-Zone.ru › OpenJDK 24

Интерфейс KeyEventDispatcher

Все известные реализующие классы:
DefaultFocusManager, DefaultKeyboardFocusManager, FocusManager, KeyboardFocusManager
Функциональный интерфейс:
Это функциональный интерфейс и, следовательно, может использоваться в качестве целевого назначения для лямбда-выражения или ссылки на метод.
@FunctionalInterface public interface KeyEventDispatcher
Объект KeyEventDispatcher взаимодействует с текущим KeyboardFocusManager при целеуказании и обработке всех событий KeyEvents. KeyEventDispatchers, зарегистрированные в текущем KeyboardFocusManager, будут получать KeyEvents до их отправки целевым объектам, что позволяет каждому KeyEventDispatcher перенаправлять событие, потреблять его, отправлять событие самостоятельно или вносить другие изменения.

Обратите внимание, что сам KeyboardFocusManager реализует KeyEventDispatcher. По умолчанию текущий KeyboardFocusManager будет приемником всех KeyEvents, которые не были обработаны зарегистрированными KeyEventDispatchers. Текущий KeyboardFocusManager не может быть полностью дезактивирован как KeyEventDispatcher. Однако, если KeyEventDispatcher сообщает, что он обработал KeyEvent, независимо от того, действительно ли это произошло, KeyboardFocusManager не будет предпринимать дальнейших действий в отношении KeyEvent. (Хотя клиентский код может зарегистрировать текущий KeyboardFocusManager как KeyEventDispatcher один или несколько раз, это обычно не нужно и не рекомендуется).

С:
1.4
См. также:
  • KeyboardFocusManager.addKeyEventDispatcher(java.awt.KeyEventDispatcher)
  • KeyboardFocusManager.removeKeyEventDispatcher(java.awt.KeyEventDispatcher)

Краткое описание методов

Модификатор и тип Метод Описание
boolean dispatchKeyEvent(KeyEvent e)
Этот метод вызывается текущим KeyboardFocusManager, запрашивая, чтобы этот KeyEventDispatcher обработал указанное событие от его имени.

Подробное описание методов

dispatchKeyEvent

boolean dispatchKeyEvent(KeyEvent e)
Этот метод вызывается текущим KeyboardFocusManager, запрашивая, чтобы этот KeyEventDispatcher обработал указанное событие от его имени. Этот KeyEventDispatcher свободен перенаправить событие, потреблять его, обработать его самостоятельно или внести другие изменения. Эта возможность обычно используется для передачи KeyEvents компонентам, отличным от владельца фокуса. Это может быть полезно, например, при навигации по потомкам нефокусируемых окон в доступной среде. Обратите внимание, что если KeyEventDispatcher обрабатывает KeyEvent сам, он должен использовать redispatchEvent, чтобы предотвратить текущий KeyboardFocusManager от рекурсивного запроса обработки этого события KeyEventDispatcher еще раз.

Если реализация этого метода возвращает false, то KeyEvent передаётся следующему KeyEventDispatcher в цепочке, заканчиваясь текущим KeyboardFocusManager. Если реализация возвращает true, считается, что KeyEvent был обработан (хотя это необязательно), и текущий KeyboardFocusManager не будет предпринимать дальнейших действий в отношении KeyEvent. В этом случае, KeyboardFocusManager.dispatchEvent также должен возвращать true. Если реализация потребляет KeyEvent, но возвращает false, то потреблённое событие всё равно будет передано следующему KeyEventDispatcher в цепочке. Разработчикам важно проверить, был ли KeyEvent потреблен перед его отправкой целевому объекту. По умолчанию текущий KeyboardFocusManager не будет обрабатывать потреблённый KeyEvent.

Параметры:
e - обрабатываемое событие KeyEvent
Возвращает:
true, если KeyboardFocusManager не должен предпринимать дальнейших действий в отношении KeyEvent; false в противном случае
См. также:
  • KeyboardFocusManager.redispatchEvent(java.awt.Component, java.awt.AWTEvent)

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/awt/KeyEventDispatcher.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API