Класс 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
- См. также:
Краткое описание полей
Поля, объявленные в классе 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 |
Передает для обычной диспетчеризации текущему владельцу фокуса все KeyEvent, поставленные в очередь в результате вызова enqueueKeyEvents с той же временной меткой и Component. |
protected void |
discardKeyEvents |
Отбрасывает все KeyEvent, поставленные в очередь в результате одного или нескольких вызовов enqueueKeyEvents для указанного Component или одного из его потомков. |
boolean |
dispatchEvent |
Этот метод вызывается диспетчером событий AWT с запросом к текущему KeyboardFocusManager выполнить от его имени диспетчеризацию указанного события. |
boolean |
dispatchKeyEvent |
Вызывается методом dispatchEvent, если ни один другой KeyEventDispatcher в цепочке диспетчеризации не выполнил диспетчеризацию KeyEvent или если другие KeyEventDispatcher не зарегистрированы. |
void |
downFocusCycle |
Перемещает фокус вниз на один цикл обхода. |
protected void |
enqueueKeyEvents |
Откладывает диспетчеризацию KeyEvent до тех пор, пока указанный Component не станет владельцем фокуса. |
void |
focusNextComponent |
Устанавливает фокус на Component, следующий за aComponent, обычно на основе FocusTraversalPolicy. |
void |
focusPreviousComponent |
Устанавливает фокус на Component, предшествующий aComponent, обычно на основе FocusTraversalPolicy. |
boolean |
postProcessKeyEvent |
Этот метод вызывается методом dispatchKeyEvent. |
void |
processKeyEvent |
Этот метод инициирует операцию обхода фокуса тогда и только тогда, когда KeyEvent представляет клавишу обхода фокуса для указанного focusedComponent. |
void |
upFocusCycle |
Перемещает фокус вверх на один цикл обхода. |
Методы, объявленные в классе 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 в цепочку диспетчеризации этого KeyboardFocusManager. |
void |
addKeyEventPostProcessor |
Добавляет KeyEventPostProcessor в цепочку постобработки этого KeyboardFocusManager. |
void |
addPropertyChangeListener |
Добавляет PropertyChangeListener в список прослушивателей. |
void |
addPropertyChangeListener |
Добавляет PropertyChangeListener в список прослушивателей для определенного свойства. |
void |
addVetoableChangeListener |
Добавляет VetoableChangeListener в список прослушивателей. |
void |
addVetoableChangeListener |
Добавляет VetoableChangeListener в список прослушивателей для определенного свойства. |
void |
clearFocusOwner() |
Сбрасывает владельца фокуса на уровнях Java и native, если владелец фокуса существует и находится в том же контексте, что и вызывающий поток; в противном случае метод завершается без действий. |
void |
clearGlobalFocusOwner() |
Сбрасывает глобального владельца фокуса на уровнях Java и native. |
final void |
downFocusCycle() |
Перемещает фокус вниз на один цикл обхода от текущего владельца фокуса тогда и только тогда, когда текущий владелец фокуса является Container — корнем цикла фокуса. |
protected void |
firePropertyChange |
Генерирует PropertyChangeEvent в ответ на изменение связанного свойства. |
protected void |
fireVetoableChange |
Генерирует PropertyChangeEvent в ответ на изменение свойства, изменение которого может быть отклонено. |
final void |
focusNextComponent() |
Устанавливает фокус на Component, следующий за текущим владельцем фокуса. |
final void |
focusPreviousComponent() |
Устанавливает фокус на Component, предшествующий текущему владельцу фокуса. |
Window |
getActiveWindow() |
Возвращает активное Window. |
Container |
getCurrentFocusCycleRoot() |
Возвращает текущий корень цикла фокуса, если он находится в том же контексте, что и вызывающий поток. |
static KeyboardFocusManager |
getCurrentKeyboardFocusManager() |
Возвращает текущий экземпляр KeyboardFocusManager. |
Set |
getDefaultFocusTraversalKeys |
Возвращает набор клавиш обхода фокуса по умолчанию для заданной операции обхода. |
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 |
getKeyEventDispatchers() |
Возвращает цепочку KeyEventDispatcher этого KeyboardFocusManager в виде List. |
protected List |
getKeyEventPostProcessors() |
Возвращает цепочку KeyEventPostProcessor этого KeyboardFocusManager в виде List. |
Component |
getPermanentFocusOwner() |
Возвращает постоянного владельца фокуса. |
PropertyChangeListener[] |
getPropertyChangeListeners() |
Возвращает массив всех прослушивателей изменений свойств, зарегистрированных в этом менеджере клавиатурного фокуса. |
PropertyChangeListener[] |
getPropertyChangeListeners |
Возвращает массив всех PropertyChangeListener, связанных с указанным свойством. |
VetoableChangeListener[] |
getVetoableChangeListeners() |
Возвращает массив всех прослушивателей изменений, подлежащих отклонению, зарегистрированных в этом менеджере клавиатурного фокуса. |
VetoableChangeListener[] |
getVetoableChangeListeners |
Возвращает массив всех VetoableChangeListener, связанных с указанным свойством. |
final void |
redispatchEvent |
Повторно выполняет диспетчеризацию AWTEvent таким образом, чтобы диспетчер событий AWT не запрашивал рекурсивно повторную диспетчеризацию события у KeyboardFocusManager или установленных KeyEventDispatcher. |
void |
removeKeyEventDispatcher |
Удаляет KeyEventDispatcher, ранее добавленный в цепочку диспетчеризации этого KeyboardFocusManager. |
void |
removeKeyEventPostProcessor |
Удаляет ранее добавленный KeyEventPostProcessor из цепочки постобработки этого KeyboardFocusManager. |
void |
removePropertyChangeListener |
Удаляет PropertyChangeListener из списка прослушивателей. |
void |
removePropertyChangeListener |
Удаляет PropertyChangeListener из списка прослушивателей для определенного свойства. |
void |
removeVetoableChangeListener |
Удаляет VetoableChangeListener из списка прослушивателей. |
void |
removeVetoableChangeListener |
Удаляет VetoableChangeListener из списка прослушивателей для определенного свойства. |
static void |
setCurrentKeyboardFocusManager |
Задает текущий экземпляр KeyboardFocusManager. |
void |
setDefaultFocusTraversalKeys |
Задает клавиши обхода фокуса по умолчанию для указанной операции обхода. |
void |
setDefaultFocusTraversalPolicy |
Задает FocusTraversalPolicy по умолчанию. |
protected void |
setGlobalActiveWindow |
Задает активное Window. |
void |
setGlobalCurrentFocusCycleRoot |
Задает текущий корень цикла фокуса. |
protected void |
setGlobalFocusedWindow |
Задает Window, которому принадлежит фокус. |
protected void |
setGlobalFocusOwner |
Задает владельца фокуса. |
protected void |
setGlobalPermanentFocusOwner |
Задает постоянного владельца фокуса. |
final void |
upFocusCycle() |
Перемещает фокус вверх на один цикл обхода от текущего владельца фокуса. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли какой-либо другой объект этому объекту. |
protected void |
finalize() |
Устарело, планируется удаление: этот элемент API может быть удален в будущей версии. Финализация устарела и может быть удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Переводит текущий поток в ожидание до пробуждения, обычно посредством уведомления или прерывания. |
final void |
wait |
Переводит текущий поток в ожидание до пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Переводит текущий поток в ожидание до пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
Подробное описание конструкторов
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 - См. также:
dispatchKeyEvent
public boolean dispatchKeyEvent(KeyEvent e)
Вызывается методом
dispatchEvent, если ни один другой KeyEventDispatcher в цепочке диспетчеризации не выполнил диспетчеризацию KeyEvent или если другие KeyEventDispatcher не зарегистрированы. Если событие не было обработано, его целевой объект включен, а владелец фокуса не равен null, этот метод передает событие целевому объекту. Затем этот метод также передает событие всем зарегистрированным KeyEventPostProcessor. После завершения всех этих операций событие передается соответствующим peer-объектам для обработки. Во всех случаях этот метод возвращает true, поскольку DefaultKeyboardFocusManager устроен так, что ни dispatchEvent, ни диспетчер событий AWT не должны предпринимать дальнейших действий с событием.
- Определено в:
-
dispatchKeyEventв интерфейсеKeyEventDispatcher - Определено в:
-
dispatchKeyEventв классеKeyboardFocusManager - Параметры:
-
e— KeyEvent, подлежащий диспетчеризации - Возвращает:
true- См. также:
postProcessKeyEvent
public boolean postProcessKeyEvent(KeyEvent e)
Этот метод вызывается методом
dispatchKeyEvent. Он обрабатывает все необработанные KeyEvent, соответствующие MenuShortcut AWT, потребляя событие и активируя сочетание клавиш.- Определено в:
-
postProcessKeyEventв интерфейсеKeyEventPostProcessor - Определено в:
-
postProcessKeyEventв классеKeyboardFocusManager - Параметры:
-
e— KeyEvent для постобработки - Возвращает:
true- См. также:
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
protected void dequeueKeyEvents(long after, Component untilFocused)
Передает для обычной диспетчеризации текущему владельцу фокуса все KeyEvent, поставленные в очередь в результате вызова
enqueueKeyEvents с той же временной меткой и Component. Если заданная временная метка меньше нуля, необходимо отменить самый ранний (если имеется) незавершенный запрос на постановку в очередь для указанного Component.- Определено в:
-
dequeueKeyEventsв классеKeyboardFocusManager - Параметры:
-
after— временная метка, указанная при вызовеenqueueKeyEvents, или любое значение < 0 -
untilFocused— Component, указанный при вызовеenqueueKeyEvents - См. также:
discardKeyEvents
protected void discardKeyEvents(Component comp)
Отбрасывает все KeyEvent, поставленные в очередь в результате одного или нескольких вызовов
enqueueKeyEvents для указанного Component или одного из его потомков.- Определено в:
-
discardKeyEventsв классеKeyboardFocusManager - Параметры:
-
comp— Component, указанный в одном или нескольких вызовахenqueueKeyEvents, или родительский компонент такого Component - См. также:
focusPreviousComponent
public void focusPreviousComponent(Component aComponent)
Устанавливает фокус на Component, предшествующий aComponent, обычно на основе FocusTraversalPolicy.
- Определено в:
-
focusPreviousComponentв классеKeyboardFocusManager - Параметры:
-
aComponent— Component, служащий основой для операции обхода фокуса - См. также:
focusNextComponent
public void focusNextComponent(Component aComponent)
Устанавливает фокус на Component, следующий за aComponent, обычно на основе FocusTraversalPolicy.
- Определено в:
-
focusNextComponentв классеKeyboardFocusManager - Параметры:
-
aComponent— Component, служащий основой для операции обхода фокуса - См. также:
upFocusCycle
public void upFocusCycle(Component aComponent)
Перемещает фокус вверх на один цикл обхода. Обычно владельцем фокуса становится корень цикла фокуса для aComponent, а текущим корнем цикла фокуса становится корень цикла фокуса нового владельца фокуса. Однако если корень цикла фокуса для aComponent является Window, владельцем фокуса становится Component, на который по умолчанию должен быть установлен фокус в этом корне цикла фокуса, а текущий корень цикла фокуса не меняется.
- Определено в:
-
upFocusCycleв классеKeyboardFocusManager - Параметры:
-
aComponent— Component, служащий основой для операции обхода фокуса - См. также:
downFocusCycle
public void downFocusCycle(Container aContainer)
Перемещает фокус вниз на один цикл обхода. Если aContainer является корнем цикла фокуса, владельцем фокуса становится Component, на который по умолчанию должен быть установлен фокус в aContainer, а текущим корнем цикла фокуса становится aContainer. Если aContainer не является корнем цикла фокуса, операция обхода фокуса не выполняется.
- Определено в:
-
downFocusCycleв классеKeyboardFocusManager - Параметры:
-
aContainer— Container, служащий основой для операции обхода фокуса - См. также:
© 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.