Интерфейс KeyEventDispatcher
- Все известные реализующие классы:
DefaultFocusManager, DefaultKeyboardFocusManager, FocusManager, KeyboardFocusManager
- Функциональный интерфейс:
- Это функциональный интерфейс, поэтому его можно использовать в качестве целевого типа для лямбда-выражения или ссылки на метод.
@FunctionalInterface public interface KeyEventDispatcher
Обратите внимание, что сам KeyboardFocusManager реализует KeyEventDispatcher. По умолчанию текущий KeyboardFocusManager служит получателем всех KeyEvent, не диспетчеризированных зарегистрированными KeyEventDispatcher. Полностью отменить регистрацию текущего KeyboardFocusManager в качестве KeyEventDispatcher нельзя. Однако если KeyEventDispatcher сообщает, что он диспетчеризировал KeyEvent, независимо от того, сделал ли он это на самом деле, KeyboardFocusManager больше не предпринимает никаких действий в отношении этого KeyEvent. (Хотя клиентский код может зарегистрировать текущий KeyboardFocusManager в качестве KeyEventDispatcher один или несколько раз, обычно в этом нет необходимости, и делать это не рекомендуется.)
- С момента:
- 1.4
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
dispatchKeyEvent |
Этот метод вызывается текущим KeyboardFocusManager с запросом на то, чтобы этот KeyEventDispatcher диспетчеризировал от его имени указанное событие. |
Подробное описание методов
dispatchKeyEvent
boolean dispatchKeyEvent(KeyEvent e)
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 - См. также:
© 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://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/java/awt/KeyEventDispatcher.html