Класс DefaultKeyboardFocusManager

Все реализованные интерфейсы:
KeyEventDispatcher, KeyEventPostProcessor
Прямые известные подклассы:
FocusManager
public class DefaultKeyboardFocusManager
extends KeyboardFocusManager

По умолчанию KeyboardFocusManager для приложений AWT. Переход фокуса выполняется в ответ на клавиши перехода фокуса компонента и с помощью политики перехода фокуса контейнера.

См. Как использовать подсистему фокуса, раздел в Руководстве по Java, и Спецификацию фокуса для получения дополнительной информации.

С:
1.4
См. также:
FocusTraversalPolicy, Component.setFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>), Component.getFocusTraversalKeys(int)

Поля

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

BACKWARD_TRAVERSAL_KEYS, DOWN_CYCLE_TRAVERSAL_KEYS, FORWARD_TRAVERSAL_KEYS, UP_CYCLE_TRAVERSAL_KEYS

Конструкторы

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

Методы

Модификатор и тип Метод Описание
protected void dequeueKeyEvents​(long after, Component untilFocused)

Освобождает для обычной обработки текущим владельцем фокуса все события KeyEvents, которые были помещены в очередь из-за вызова enqueueKeyEvents с той же меткой времени и компонентом.

protected void discardKeyEvents​(Component comp)

Отбрасывает все события KeyEvents, которые были помещены в очередь из-за одного или нескольких вызовов enqueueKeyEvents со специфицированным компонентом или одним из его потомков.

boolean dispatchEvent​(AWTEvent e)

Этот метод вызывается диспетчером событий AWT, запрашивая, чтобы текущий KeyboardFocusManager обработать указанное событие от его имени.

boolean dispatchKeyEvent​(KeyEvent e)

Вызывается dispatchEvent если ни один другой KeyEventDispatcher в цепочке диспетчеров не обработал событие KeyEvent или если больше нет зарегистрированных KeyEventDispatchers.

void downFocusCycle​(Container aContainer)

Перемещает фокус вниз на один цикл перехода фокуса.

protected void enqueueKeyEvents​(long after, Component untilFocused)

Задерживает обработку событий KeyEvents до тех пор, пока указанный компонент не станет владельцем фокуса.

void focusNextComponent​(Component aComponent)

Фокусирует компонент после aComponent, обычно на основе FocusTraversalPolicy.

void focusPreviousComponent​(Component aComponent)

Фокусирует компонент перед aComponent, обычно на основе FocusTraversalPolicy.

boolean postProcessKeyEvent​(KeyEvent e)

Этот метод будет вызван dispatchKeyEvent.

void processKeyEvent​(Component focusedComponent, KeyEvent e)

Этот метод инициирует операцию перехода фокуса только в том случае, если событие KeyEvent представляет собой клавишу перехода фокуса для указанного focusedComponent.

void upFocusCycle​(Component aComponent)

Перемещает фокус вверх на один цикл перехода фокуса.

Методы, объявленные в классе java.awt.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

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Конструкторы

DefaultKeyboardFocusManager

public DefaultKeyboardFocusManager()

Методы

dispatchEvent

public boolean dispatchEvent(AWTEvent e)

Этот метод вызывается диспетчером событий AWT с запросом о том, чтобы текущий KeyboardFocusManager осуществил обработку указанного события от его имени. DefaultKeyboardFocusManager обрабатывает все FocusEvents, все WindowEvents, связанные с фокусом, и все KeyEvents. Эти события обрабатываются на основе представлений KeyboardFocusManager о владельце фокуса и фокусированных и активных окнах, иногда переопределяя источник указанного AWTEvent. Если этот метод возвращает false, тогда диспетчер событий AWT попытается обработать событие самостоятельно.

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

dispatchKeyEvent

public boolean dispatchKeyEvent(KeyEvent e)

Вызывается dispatchEvent если ни один другой KeyEventDispatcher в цепочке диспетчеров не обработает KeyEvent или если другие KeyEventDispatchers не зарегистрированы. Если событие не было обработано, его целевой компонент активен и владелец фокуса не равен null, этот метод отправляет событие его целевому компоненту. Этот метод также дополнительно отправляет событие всем зарегистрированным KeyEventPostProcessors. После завершения всех этих операций событие передаётся компонентам для обработки.

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

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

postProcessKeyEvent

public boolean postProcessKeyEvent(KeyEvent e)

Этот метод вызывается dispatchKeyEvent. Он обрабатывает любые необработанные KeyEvents, которые соответствуют AWT MenuShortcut, потребляя событие и активируя ярлык.

Определено в:
postProcessKeyEvent в интерфейсе KeyEventPostProcessor
Определено в:
postProcessKeyEvent в классе KeyboardFocusManager
Параметры:
e - KeyEvent для последующей обработки
Возвращает:
true
См. также:
dispatchKeyEvent(java.awt.event.KeyEvent), MenuShortcut

processKeyEvent

public void processKeyEvent(Component focusedComponent,
                            KeyEvent e)

Этот метод инициирует операцию перехода фокуса тогда и только тогда, когда KeyEvent представляет собой клавишу перехода фокуса для указанного focusedComponent. Ожидается, что focusedComponent является текущим владельцем фокуса, хотя это не обязательно. Если это не так, переход фокуса всё равно произойдёт так, как если бы focusedComponent был владельцем фокуса.

Определено в:
processKeyEvent в классе KeyboardFocusManager
Параметры:
focusedComponent - компонент, являющийся основой операции перехода фокуса, если указанное событие представляет собой клавишу перехода фокуса для этого компонента
e - событие, которое может представлять собой клавишу перехода фокуса

enqueueKeyEvents

protected void enqueueKeyEvents(long after,
                                Component untilFocused)

Откладывает обработку KeyEvents до тех пор, пока указанный Component не станет владельцем фокуса. KeyEvents с отметками времени, более поздними, чем указанная отметка времени, будут поставлены в очередь до тех пор, пока указанный Component не получит событие FOCUS_GAINED, или AWT отменит запрос отложенного выполнения, вызвав dequeueKeyEvents или discardKeyEvents.

Определено в:
enqueueKeyEvents в классе KeyboardFocusManager
Параметры:
after - отметка времени текущего события или текущее системное время, если текущее событие не имеет отметки времени или AWT не может определить, какое событие обрабатывается в данный момент
untilFocused - компонент, который получит событие FOCUS_GAINED перед любыми ожидающими KeyEvents
См. также:
dequeueKeyEvents(long, java.awt.Component), discardKeyEvents(java.awt.Component)

dequeueKeyEvents

protected void dequeueKeyEvents(long after,
                                Component untilFocused)

Выпускает для нормальной обработки текущим владельцем фокуса все KeyEvents, которые были поставлены в очередь из-за вызова enqueueKeyEvents с той же отметкой времени и компонентом. Если указанная отметка времени меньше нуля, запрос отложенного выполнения для данного компонента с самой ранней отметкой времени (если таковая имеется) должен быть отменён.

Определено в:
dequeueKeyEvents в классе KeyboardFocusManager
Параметры:
after - отметка времени, указанная в вызове enqueueKeyEvents, или любое значение < 0
untilFocused - компонент, указанный в вызове enqueueKeyEvents
См. также:
enqueueKeyEvents(long, java.awt.Component), discardKeyEvents(java.awt.Component)

discardKeyEvents

protected void discardKeyEvents(Component comp)

Отбрасывает все KeyEvents, которые были поставлены в очередь из-за одного или нескольких вызовов enqueueKeyEvents с указанным компонентом или одним из его потомков.

Определено в:
discardKeyEvents в классе KeyboardFocusManager
Параметры:
comp - компонент, указанный в одном или нескольких вызовах enqueueKeyEvents, или родитель такого компонента
См. также:
enqueueKeyEvents(long, java.awt.Component), dequeueKeyEvents(long, java.awt.Component)

focusPreviousComponent

public void focusPreviousComponent(Component aComponent)

Фокусирует компонент перед aComponent, обычно на основе FocusTraversalPolicy.

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

focusNextComponent

public void focusNextComponent(Component aComponent)

Фокусирует компонент после aComponent, обычно на основе FocusTraversalPolicy.

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

upFocusCycle

public void upFocusCycle(Component aComponent)

Перемещает фокус на один цикл вверх по циклу перехода фокуса. Как правило, владелец фокуса устанавливается в корень цикла перехода фокуса aComponent, а текущий корень цикла перехода фокуса устанавливается в корень цикла перехода фокуса нового владельца фокуса. Однако, если корень цикла перехода фокуса aComponent является окном, то владелец фокуса устанавливается в значение по умолчанию для фокусировки компонента корня цикла перехода фокуса, а текущий корень цикла перехода фокуса остаётся неизменным.

Определено в:
upFocusCycle в классе KeyboardFocusManager
Параметры:
aComponent - компонент, являющийся основой операции перехода фокуса
См. также:
Component.transferFocusUpCycle()

downFocusCycle

public void downFocusCycle(Container aContainer)

Перемещает фокус на один цикл вниз по циклу перехода фокуса. Если aContainer является корнем цикла перехода фокуса, то владелец фокуса устанавливается в значение по умолчанию для фокусировки компонента aContainer, а текущий корень цикла перехода фокуса устанавливается в aContainer. Если aContainer не является корнем цикла перехода фокуса, то операция перехода фокуса не выполняется.

Определено в:
downFocusCycle в классе KeyboardFocusManager
Параметры:
aContainer - контейнер, являющийся основой операции перехода фокуса
См. также:
Container.transferFocusDownCycle()

© 1993, 2020, 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/11/docs/api/java.desktop/java/awt/DefaultKeyboardFocusManager.html

Spec-Zone .ru
спецификации, руководства, описания, API