Spec-Zone.ru › OpenJDK 25

Интерфейс KeyEventPostProcessor

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

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

Начиная с:
1.4
См. также:
  • KeyboardFocusManager.addKeyEventPostProcessor(KeyEventPostProcessor)
  • KeyboardFocusManager.removeKeyEventPostProcessor(KeyEventPostProcessor)

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

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

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

postProcessKeyEvent

boolean postProcessKeyEvent(KeyEvent e)
Этот метод вызывается текущим KeyboardFocusManager с запросом к этому KeyEventPostProcessor выполнить необходимую постобработку, которая должна быть частью окончательного разрешения KeyEvent. К моменту вызова этого метода KeyEvent обычно уже отправлено целевому объекту и обработано им. Однако если ни один Component приложения в данный момент не владеет фокусом, KeyEvent не было отправлено ни одному Component. Обычно постобработка KeyEvent используется для реализации функций, требующих глобальной постобработки KeyEvent, например сочетаний клавиш меню. Обратите внимание: если KeyEventPostProcessor требуется отправить KeyEvent, он должен использовать redispatchEvent, чтобы предотвратить рекурсивный запрос AWT к этому KeyEventPostProcessor на повторную постобработку события.

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

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, способы обхода ограничений и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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/KeyEventPostProcessor.html

Spec-Zone.ru

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