Spec-Zone.ru › OpenJDK 27

Класс DefaultKeyboardFocusManager

java.lang.Object
java.awt.KeyboardFocusManager
java.awt.DefaultKeyboardFocusManager
Все реализуемые интерфейсы:
KeyEventDispatcher, KeyEventPostProcessor
Прямые известные подклассы:
FocusManager
public class DefaultKeyboardFocusManager extends KeyboardFocusManager
Класс KeyboardFocusManager по умолчанию для приложений AWT. Обход компонентов с клавиатуры выполняется в ответ на клавиши обхода компонентов, заданные для Component, и с использованием FocusTraversalPolicy контейнера Container.

Дополнительные сведения см. в разделе Использование подсистемы фокуса в руководстве The Java Tutorial и в документе Спецификация фокуса.

Начиная с версии:
1.4
См. также:
  • FocusTraversalPolicy
  • Component.setFocusTraversalKeys(int, Set)
  • Component.getFocusTraversalKeys(int)

Краткое описание полей

Поля, объявленные в классе KeyboardFocusManager

BACKWARD_TRAVERSAL_KEYS, DOWN_CYCLE_TRAVERSAL_KEYS, FORWARD_TRAVERSAL_KEYS, UP_CYCLE_TRAVERSAL_KEYS
Модификатор и тип Поле Описание
static final int BACKWARD_TRAVERSAL_KEYS
Идентификатор клавиш обхода фокуса в обратном направлении.
static final int DOWN_CYCLE_TRAVERSAL_KEYS
Идентификатор клавиш перехода вниз по циклу фокуса.
static final int FORWARD_TRAVERSAL_KEYS
Идентификатор клавиш обхода фокуса в прямом направлении.
static final int UP_CYCLE_TRAVERSAL_KEYS
Идентификатор клавиш перехода вверх по циклу фокуса.

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

Конструктор Описание
DefaultKeyboardFocusManager()
Создает DefaultKeyboardFocusManager.

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

Модификатор и тип Метод Описание
protected void dequeueKeyEvents(long after, Component untilFocused)
Передает для обычной диспетчеризации текущему владельцу фокуса все KeyEvent, поставленные в очередь в результате вызова enqueueKeyEvents с той же временной меткой и Component.
protected void discardKeyEvents(Component comp)
Отбрасывает все KeyEvent, поставленные в очередь в результате одного или нескольких вызовов enqueueKeyEvents для указанного Component или одного из его потомков.
boolean dispatchEvent(AWTEvent e)
Этот метод вызывается диспетчером событий AWT с запросом к текущему KeyboardFocusManager выполнить от его имени диспетчеризацию указанного события.
boolean dispatchKeyEvent(KeyEvent e)
Вызывается методом dispatchEvent, если ни один другой KeyEventDispatcher в цепочке диспетчеризации не выполнил диспетчеризацию KeyEvent или если другие KeyEventDispatcher не зарегистрированы.
void downFocusCycle(Container aContainer)
Перемещает фокус вниз на один цикл обхода.
protected void enqueueKeyEvents(long after, Component untilFocused)
Откладывает диспетчеризацию KeyEvent до тех пор, пока указанный Component не станет владельцем фокуса.
void focusNextComponent(Component aComponent)
Устанавливает фокус на Component, следующий за aComponent, обычно на основе FocusTraversalPolicy.
void focusPreviousComponent(Component aComponent)
Устанавливает фокус на Component, предшествующий aComponent, обычно на основе FocusTraversalPolicy.
boolean postProcessKeyEvent(KeyEvent e)
Этот метод вызывается методом dispatchKeyEvent.
void processKeyEvent(Component focusedComponent, KeyEvent e)
Этот метод инициирует операцию обхода фокуса тогда и только тогда, когда KeyEvent представляет клавишу обхода фокуса для указанного focusedComponent.
void upFocusCycle(Component aComponent)
Перемещает фокус вверх на один цикл обхода.

Методы, объявленные в классе KeyboardFocusManager

addKeyEventDispatcher, addKeyEventPostProcessor, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, addVetoableChangeListener, clearFocusOwner, clearGlobalFocusOwner, downFocusCycle, firePropertyChange, fireVetoableChange, focusNextComponent, focusPreviousComponent, getActiveWindow, getCurrentFocusCycleRoot, getCurrentKeyboardFocusManager, getDefaultFocusTraversalKeys, getDefaultFocusTraversalPolicy, getFocusedWindow, getFocusOwner, getGlobalActiveWindow, getGlobalCurrentFocusCycleRoot, getGlobalFocusedWindow, getGlobalFocusOwner, getGlobalPermanentFocusOwner, getKeyEventDispatchers, getKeyEventPostProcessors, getPermanentFocusOwner, getPropertyChangeListeners, getPropertyChangeListeners, getVetoableChangeListeners, getVetoableChangeListeners, redispatchEvent, removeKeyEventDispatcher, removeKeyEventPostProcessor, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, removeVetoableChangeListener, setCurrentKeyboardFocusManager, setDefaultFocusTraversalKeys, setDefaultFocusTraversalPolicy, setGlobalActiveWindow, setGlobalCurrentFocusCycleRoot, setGlobalFocusedWindow, setGlobalFocusOwner, setGlobalPermanentFocusOwner, upFocusCycle
Модификатор и тип Метод Описание
void addKeyEventDispatcher(KeyEventDispatcher dispatcher)
Добавляет KeyEventDispatcher в цепочку диспетчеризации этого KeyboardFocusManager.
void addKeyEventPostProcessor(KeyEventPostProcessor processor)
Добавляет KeyEventPostProcessor в цепочку постобработки этого KeyboardFocusManager.
void addPropertyChangeListener(PropertyChangeListener listener)
Добавляет PropertyChangeListener в список прослушивателей.
void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
Добавляет PropertyChangeListener в список прослушивателей для определенного свойства.
void addVetoableChangeListener(VetoableChangeListener listener)
Добавляет VetoableChangeListener в список прослушивателей.
void addVetoableChangeListener(String propertyName, VetoableChangeListener listener)
Добавляет VetoableChangeListener в список прослушивателей для определенного свойства.
void clearFocusOwner()
Сбрасывает владельца фокуса на уровнях Java и native, если владелец фокуса существует и находится в том же контексте, что и вызывающий поток; в противном случае метод завершается без действий.
void clearGlobalFocusOwner()
Сбрасывает глобального владельца фокуса на уровнях Java и native.
final void downFocusCycle()
Перемещает фокус вниз на один цикл обхода от текущего владельца фокуса тогда и только тогда, когда текущий владелец фокуса является Container — корнем цикла фокуса.
protected void firePropertyChange(String propertyName, Object oldValue, Object newValue)
Генерирует PropertyChangeEvent в ответ на изменение связанного свойства.
protected void fireVetoableChange(String propertyName, Object oldValue, Object newValue)
Генерирует PropertyChangeEvent в ответ на изменение свойства, изменение которого может быть отклонено.
final void focusNextComponent()
Устанавливает фокус на Component, следующий за текущим владельцем фокуса.
final void focusPreviousComponent()
Устанавливает фокус на Component, предшествующий текущему владельцу фокуса.
Window getActiveWindow()
Возвращает активное Window.
Container getCurrentFocusCycleRoot()
Возвращает текущий корень цикла фокуса, если он находится в том же контексте, что и вызывающий поток.
static KeyboardFocusManager getCurrentKeyboardFocusManager()
Возвращает текущий экземпляр KeyboardFocusManager.
Set<AWTKeyStroke> getDefaultFocusTraversalKeys(int id)
Возвращает набор клавиш обхода фокуса по умолчанию для заданной операции обхода.
FocusTraversalPolicy getDefaultFocusTraversalPolicy()
Возвращает FocusTraversalPolicy по умолчанию.
Window getFocusedWindow()
Возвращает Window, которому принадлежит фокус.
Component getFocusOwner()
Возвращает владельца фокуса, если он находится в том же контексте, что и вызывающий поток.
protected Window getGlobalActiveWindow()
Возвращает активное Window, даже если вызывающий поток находится в контексте, отличном от контекста активного Window.
protected Container getGlobalCurrentFocusCycleRoot()
Возвращает текущий корень цикла фокуса, даже если вызывающий поток находится в контексте, отличном от контекста текущего корня цикла фокуса.
protected Window getGlobalFocusedWindow()
Возвращает Window, которому принадлежит фокус, даже если вызывающий поток находится в контексте, отличном от контекста этого Window.
protected Component getGlobalFocusOwner()
Возвращает владельца фокуса, даже если вызывающий поток находится в контексте, отличном от контекста владельца фокуса.
protected Component getGlobalPermanentFocusOwner()
Возвращает постоянного владельца фокуса.
protected List<KeyEventDispatcher> getKeyEventDispatchers()
Возвращает цепочку KeyEventDispatcher этого KeyboardFocusManager в виде List.
protected List<KeyEventPostProcessor> getKeyEventPostProcessors()
Возвращает цепочку KeyEventPostProcessor этого KeyboardFocusManager в виде List.
Component getPermanentFocusOwner()
Возвращает постоянного владельца фокуса.
PropertyChangeListener[] getPropertyChangeListeners()
Возвращает массив всех прослушивателей изменений свойств, зарегистрированных в этом менеджере клавиатурного фокуса.
PropertyChangeListener[] getPropertyChangeListeners(String propertyName)
Возвращает массив всех PropertyChangeListener, связанных с указанным свойством.
VetoableChangeListener[] getVetoableChangeListeners()
Возвращает массив всех прослушивателей изменений, подлежащих отклонению, зарегистрированных в этом менеджере клавиатурного фокуса.
VetoableChangeListener[] getVetoableChangeListeners(String propertyName)
Возвращает массив всех VetoableChangeListener, связанных с указанным свойством.
final void redispatchEvent(Component target, AWTEvent e)
Повторно выполняет диспетчеризацию AWTEvent таким образом, чтобы диспетчер событий AWT не запрашивал рекурсивно повторную диспетчеризацию события у KeyboardFocusManager или установленных KeyEventDispatcher.
void removeKeyEventDispatcher(KeyEventDispatcher dispatcher)
Удаляет KeyEventDispatcher, ранее добавленный в цепочку диспетчеризации этого KeyboardFocusManager.
void removeKeyEventPostProcessor(KeyEventPostProcessor processor)
Удаляет ранее добавленный KeyEventPostProcessor из цепочки постобработки этого KeyboardFocusManager.
void removePropertyChangeListener(PropertyChangeListener listener)
Удаляет PropertyChangeListener из списка прослушивателей.
void removePropertyChangeListener(String propertyName, PropertyChangeListener listener)
Удаляет PropertyChangeListener из списка прослушивателей для определенного свойства.
void removeVetoableChangeListener(VetoableChangeListener listener)
Удаляет VetoableChangeListener из списка прослушивателей.
void removeVetoableChangeListener(String propertyName, VetoableChangeListener listener)
Удаляет VetoableChangeListener из списка прослушивателей для определенного свойства.
static void setCurrentKeyboardFocusManager(KeyboardFocusManager newManager)
Задает текущий экземпляр KeyboardFocusManager.
void setDefaultFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)
Задает клавиши обхода фокуса по умолчанию для указанной операции обхода.
void setDefaultFocusTraversalPolicy(FocusTraversalPolicy defaultPolicy)
Задает FocusTraversalPolicy по умолчанию.
protected void setGlobalActiveWindow(Window activeWindow)
Задает активное Window.
void setGlobalCurrentFocusCycleRoot(Container newFocusCycleRoot)
Задает текущий корень цикла фокуса.
protected void setGlobalFocusedWindow(Window focusedWindow)
Задает Window, которому принадлежит фокус.
protected void setGlobalFocusOwner(Component focusOwner)
Задает владельца фокуса.
protected void setGlobalPermanentFocusOwner(Component permanentFocusOwner)
Задает постоянного владельца фокуса.
final void upFocusCycle()
Перемещает фокус вверх на один цикл обхода от текущего владельца фокуса.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли какой-либо другой объект этому объекту.
protected void finalize()
Устарело, планируется удаление: этот элемент API может быть удален в будущей версии.
Финализация устарела и может быть удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Переводит текущий поток в ожидание до пробуждения, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Переводит текущий поток в ожидание до пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Переводит текущий поток в ожидание до пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени.

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

DefaultKeyboardFocusManager

public DefaultKeyboardFocusManager()
Создает DefaultKeyboardFocusManager.

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

dispatchEvent

public boolean dispatchEvent(AWTEvent e)
Этот метод вызывается диспетчером событий AWT с запросом к текущему KeyboardFocusManager выполнить от его имени диспетчеризацию указанного события. DefaultKeyboardFocusManager выполняет диспетчеризацию всех FocusEvent, всех WindowEvent, связанных с фокусом, и всех KeyEvent. Диспетчеризация этих событий выполняется на основании представлений KeyboardFocusManager о владельце фокуса и окнах с фокусом и активных окнах, при этом источник указанного AWTEvent иногда переопределяется. Если этот метод возвращает false, диспетчер событий AWT попытается самостоятельно выполнить диспетчеризацию события.
Определено в:
dispatchEvent в классе KeyboardFocusManager
Параметры:
e — AWTEvent, подлежащий диспетчеризации
Возвращает:
true, если этот метод выполнил диспетчеризацию события; в противном случае — false
См. также:
  • KeyboardFocusManager.redispatchEvent(Component, AWTEvent)
  • KeyboardFocusManager.dispatchKeyEvent(KeyEvent)

dispatchKeyEvent

public boolean dispatchKeyEvent(KeyEvent e)
Вызывается методом dispatchEvent, если ни один другой KeyEventDispatcher в цепочке диспетчеризации не выполнил диспетчеризацию KeyEvent или если другие KeyEventDispatcher не зарегистрированы. Если событие не было обработано, его целевой объект включен, а владелец фокуса не равен null, этот метод передает событие целевому объекту. Затем этот метод также передает событие всем зарегистрированным KeyEventPostProcessor. После завершения всех этих операций событие передается соответствующим peer-объектам для обработки.

Во всех случаях этот метод возвращает true, поскольку DefaultKeyboardFocusManager устроен так, что ни dispatchEvent, ни диспетчер событий AWT не должны предпринимать дальнейших действий с событием.

Определено в:
dispatchKeyEvent в интерфейсе KeyEventDispatcher
Определено в:
dispatchKeyEvent в классе KeyboardFocusManager
Параметры:
e — KeyEvent, подлежащий диспетчеризации
Возвращает:
true
См. также:
  • Component.dispatchEvent(AWTEvent)

postProcessKeyEvent

public boolean postProcessKeyEvent(KeyEvent e)
Этот метод вызывается методом dispatchKeyEvent. Он обрабатывает все необработанные KeyEvent, соответствующие MenuShortcut AWT, потребляя событие и активируя сочетание клавиш.
Определено в:
postProcessKeyEvent в интерфейсе KeyEventPostProcessor
Определено в:
postProcessKeyEvent в классе KeyboardFocusManager
Параметры:
e — KeyEvent для постобработки
Возвращает:
true
См. также:
  • dispatchKeyEvent(KeyEvent)
  • MenuShortcut

processKeyEvent

public void processKeyEvent(Component focusedComponent, KeyEvent e)
Этот метод инициирует операцию обхода фокуса тогда и только тогда, когда KeyEvent представляет клавишу обхода фокуса для указанного focusedComponent. Предполагается, что focusedComponent является текущим владельцем фокуса, однако это необязательно. Если это не так, обход фокуса все равно будет продолжен так, как если бы focusedComponent был владельцем фокуса.
Определено в:
processKeyEvent в классе KeyboardFocusManager
Параметры:
focusedComponent — Component, служащий основой для операции обхода фокуса, если указанное событие представляет клавишу обхода фокуса для этого Component
e — событие, которое может представлять клавишу обхода фокуса

enqueueKeyEvents

protected void enqueueKeyEvents(long after, Component untilFocused)
Откладывает диспетчеризацию KeyEvent до тех пор, пока указанный Component не станет владельцем фокуса. KeyEvent с временными метками, более поздними, чем указанная временная метка, будут поставлены в очередь до тех пор, пока указанный Component не получит событие FOCUS_GAINED или AWT не отменит запрос на задержку, вызвав dequeueKeyEvents или discardKeyEvents.
Определено в:
enqueueKeyEvents в классе KeyboardFocusManager
Параметры:
after — временная метка текущего события либо текущее системное время, если у текущего события нет временной метки или AWT не может определить, какое событие обрабатывается в данный момент
untilFocused — Component, который получит событие FOCUS_GAINED до любых ожидающих KeyEvent
См. также:
  • dequeueKeyEvents(long, Component)
  • discardKeyEvents(Component)

dequeueKeyEvents

protected void dequeueKeyEvents(long after, Component untilFocused)
Передает для обычной диспетчеризации текущему владельцу фокуса все KeyEvent, поставленные в очередь в результате вызова enqueueKeyEvents с той же временной меткой и Component. Если заданная временная метка меньше нуля, необходимо отменить самый ранний (если имеется) незавершенный запрос на постановку в очередь для указанного Component.
Определено в:
dequeueKeyEvents в классе KeyboardFocusManager
Параметры:
after — временная метка, указанная при вызове enqueueKeyEvents, или любое значение < 0
untilFocused — Component, указанный при вызове enqueueKeyEvents
См. также:
  • enqueueKeyEvents(long, Component)
  • discardKeyEvents(Component)

discardKeyEvents

protected void discardKeyEvents(Component comp)
Отбрасывает все KeyEvent, поставленные в очередь в результате одного или нескольких вызовов enqueueKeyEvents для указанного Component или одного из его потомков.
Определено в:
discardKeyEvents в классе KeyboardFocusManager
Параметры:
comp — Component, указанный в одном или нескольких вызовах enqueueKeyEvents, или родительский компонент такого Component
См. также:
  • enqueueKeyEvents(long, Component)
  • dequeueKeyEvents(long, Component)

focusPreviousComponent

public void focusPreviousComponent(Component aComponent)
Устанавливает фокус на Component, предшествующий aComponent, обычно на основе FocusTraversalPolicy.
Определено в:
focusPreviousComponent в классе KeyboardFocusManager
Параметры:
aComponent — Component, служащий основой для операции обхода фокуса
См. также:
  • FocusTraversalPolicy
  • Component.transferFocusBackward()

focusNextComponent

public void focusNextComponent(Component aComponent)
Устанавливает фокус на Component, следующий за aComponent, обычно на основе FocusTraversalPolicy.
Определено в:
focusNextComponent в классе KeyboardFocusManager
Параметры:
aComponent — Component, служащий основой для операции обхода фокуса
См. также:
  • FocusTraversalPolicy
  • Component.transferFocus()

upFocusCycle

public void upFocusCycle(Component aComponent)
Перемещает фокус вверх на один цикл обхода. Обычно владельцем фокуса становится корень цикла фокуса для aComponent, а текущим корнем цикла фокуса становится корень цикла фокуса нового владельца фокуса. Однако если корень цикла фокуса для aComponent является Window, владельцем фокуса становится Component, на который по умолчанию должен быть установлен фокус в этом корне цикла фокуса, а текущий корень цикла фокуса не меняется.
Определено в:
upFocusCycle в классе KeyboardFocusManager
Параметры:
aComponent — Component, служащий основой для операции обхода фокуса
См. также:
  • Component.transferFocusUpCycle()

downFocusCycle

public void downFocusCycle(Container aContainer)
Перемещает фокус вниз на один цикл обхода. Если aContainer является корнем цикла фокуса, владельцем фокуса становится Component, на который по умолчанию должен быть установлен фокус в aContainer, а текущим корнем цикла фокуса становится aContainer. Если aContainer не является корнем цикла фокуса, операция обхода фокуса не выполняется.
Определено в:
downFocusCycle в классе KeyboardFocusManager
Параметры:
aContainer — Container, служащий основой для операции обхода фокуса
См. также:
  • Container.transferFocusDownCycle()

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, 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.

Spec-Zone.ru

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