Spec-Zone.ru › OpenJDK 27

Класс KeyboardFocusManager

java.lang.Object
java.awt.KeyboardFocusManager
Все реализуемые интерфейсы:
KeyEventDispatcher, KeyEventPostProcessor
Прямые известные подклассы:
DefaultKeyboardFocusManager
public abstract class KeyboardFocusManager extends Object implements KeyEventDispatcher, KeyEventPostProcessor
KeyboardFocusManager отвечает за управление активными и сфокусированными окнами, а также текущим владельцем фокуса. Владельцем фокуса называется компонент приложения, который обычно получает все KeyEvents, создаваемые пользователем. Сфокусированное окно — это окно, которое является владельцем фокуса или содержит его. Активным окном может быть только Frame или Dialog. Нативная оконная система может выделять активное окно или его дочерние окна специальным оформлением, например подсвеченной строкой заголовка. Активным окном всегда является либо сфокусированное окно, либо первый Frame или Dialog, которому принадлежит сфокусированное окно.

KeyboardFocusManager служит централизованным местом, где клиентский код может узнать владельца фокуса и инициировать изменения фокуса, а также диспетчером событий для всех FocusEvents, WindowEvents, связанных с фокусом, и KeyEvents.

Дополнительную информацию см. в разделе Как использовать подсистему фокуса из Учебника по Java, а также в спецификации фокуса.

Начиная с:
1.4
См. также:
  • Window
  • Frame
  • Dialog
  • FocusEvent
  • WindowEvent
  • KeyEvent

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

Модификатор и тип Поле Описание
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
Идентификатор клавиш перехода фокуса вверх по циклу.

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

Конструктор Описание
KeyboardFocusManager()
Инициализирует KeyboardFocusManager.

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

Модификатор и тип Метод Описание
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 и на нативном уровне, если владелец фокуса существует и находится в том же контексте, что и вызывающий поток; в противном случае метод незаметно завершается.
void clearGlobalFocusOwner()
Сбрасывает глобального владельца фокуса на уровне Java и на нативном уровне.
protected abstract void dequeueKeyEvents(long after, Component untilFocused)
Вызывается AWT, чтобы уведомить KeyboardFocusManager о необходимости отменить отложенную диспетчеризацию KeyEvents.
protected abstract void discardKeyEvents(Component comp)
Вызывается AWT, чтобы уведомить KeyboardFocusManager о необходимости отменить отложенную диспетчеризацию KeyEvents.
abstract boolean dispatchEvent(AWTEvent e)
Этот метод вызывается диспетчером событий AWT с просьбой к текущему KeyboardFocusManager выполнить диспетчеризацию указанного события от его имени.
abstract boolean dispatchKeyEvent(KeyEvent e)
Обычно этот метод вызывается dispatchEvent, если ни один другой KeyEventDispatcher в цепочке диспетчеризации не выполнил диспетчеризацию KeyEvent или если другие KeyEventDispatcher не зарегистрированы.
final void downFocusCycle()
Перемещает фокус на один цикл обхода вниз от текущего владельца фокуса, только если текущий владелец фокуса является Container — корнем цикла обхода фокуса.
abstract void downFocusCycle(Container aContainer)
Перемещает фокус на один цикл обхода вниз.
protected abstract void enqueueKeyEvents(long after, Component untilFocused)
Вызывается AWT, чтобы уведомить KeyboardFocusManager о необходимости отложить диспетчеризацию KeyEvents до тех пор, пока указанный Component не станет владельцем фокуса.
protected void firePropertyChange(String propertyName, Object oldValue, Object newValue)
Генерирует PropertyChangeEvent в ответ на изменение связанного свойства.
protected void fireVetoableChange(String propertyName, Object oldValue, Object newValue)
Генерирует PropertyChangeEvent в ответ на изменение свойства с возможностью отмены.
final void focusNextComponent()
Передает фокус компоненту, следующему за текущим владельцем фокуса.
abstract void focusNextComponent(Component aComponent)
Передает фокус компоненту, следующему за aComponent, обычно согласно FocusTraversalPolicy.
final void focusPreviousComponent()
Передает фокус компоненту, предшествующему текущему владельцу фокуса.
abstract void focusPreviousComponent(Component aComponent)
Передает фокус компоненту, предшествующему aComponent, обычно согласно FocusTraversalPolicy.
Window getActiveWindow()
Возвращает активное окно.
Container getCurrentFocusCycleRoot()
Возвращает текущий корень цикла обхода фокуса, если он находится в том же контексте, что и вызывающий поток.
static KeyboardFocusManager getCurrentKeyboardFocusManager()
Возвращает текущий экземпляр KeyboardFocusManager
Set<AWTKeyStroke> getDefaultFocusTraversalKeys(int id)
Возвращает набор клавиш перехода фокуса по умолчанию для заданной операции обхода.
FocusTraversalPolicy getDefaultFocusTraversalPolicy()
Возвращает FocusTraversalPolicy по умолчанию.
Window getFocusedWindow()
Возвращает сфокусированное окно.
Component getFocusOwner()
Возвращает владельца фокуса, если он находится в том же контексте, что и вызывающий поток.
protected Window getGlobalActiveWindow()
Возвращает активное окно, даже если вызывающий поток находится в другом контексте.
protected Container getGlobalCurrentFocusCycleRoot()
Возвращает текущий корень цикла обхода фокуса, даже если вызывающий поток находится в другом контексте.
protected Window getGlobalFocusedWindow()
Возвращает сфокусированное окно, даже если вызывающий поток находится в другом контексте.
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, связанных с именованным свойством.
abstract boolean postProcessKeyEvent(KeyEvent e)
Этот метод вызывается dispatchKeyEvent.
abstract void processKeyEvent(Component focusedComponent, KeyEvent e)
Этот метод инициирует операцию обхода фокуса только в том случае, если KeyEvent представляет собой клавишу обхода фокуса для указанного focusedComponent.
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)
Устанавливает активное окно.
void setGlobalCurrentFocusCycleRoot(Container newFocusCycleRoot)
Устанавливает текущий корень цикла обхода фокуса.
protected void setGlobalFocusedWindow(Window focusedWindow)
Устанавливает сфокусированное окно.
protected void setGlobalFocusOwner(Component focusOwner)
Устанавливает владельца фокуса.
protected void setGlobalPermanentFocusOwner(Component permanentFocusOwner)
Устанавливает постоянного владельца фокуса.
final void upFocusCycle()
Перемещает фокус на один цикл обхода вверх от текущего владельца фокуса.
abstract void upFocusCycle(Component aComponent)
Перемещает фокус на один цикл обхода вверх.

Методы, объявленные в классе 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()
Приостанавливает текущий поток до пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Приостанавливает текущий поток до пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного интервала реального времени.
final void wait(long timeoutMillis, int nanos)
Приостанавливает текущий поток до пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного интервала реального времени.

Подробное описание полей

FORWARD_TRAVERSAL_KEYS

public static final int FORWARD_TRAVERSAL_KEYS
Идентификатор клавиш перехода фокуса вперёд.
См. также:
  • setDefaultFocusTraversalKeys(int, Set)
  • getDefaultFocusTraversalKeys(int)
  • Component.setFocusTraversalKeys(int, Set)
  • Component.getFocusTraversalKeys(int)
  • Значения константных полей

BACKWARD_TRAVERSAL_KEYS

public static final int BACKWARD_TRAVERSAL_KEYS
Идентификатор клавиш перехода фокуса назад.
См. также:
  • setDefaultFocusTraversalKeys(int, Set)
  • getDefaultFocusTraversalKeys(int)
  • Component.setFocusTraversalKeys(int, Set)
  • Component.getFocusTraversalKeys(int)
  • Значения константных полей

UP_CYCLE_TRAVERSAL_KEYS

public static final int UP_CYCLE_TRAVERSAL_KEYS
Идентификатор клавиш перехода к предыдущему циклу обхода фокуса.
См. также:
  • setDefaultFocusTraversalKeys(int, Set)
  • getDefaultFocusTraversalKeys(int)
  • Component.setFocusTraversalKeys(int, Set)
  • Component.getFocusTraversalKeys(int)
  • Значения константных полей

DOWN_CYCLE_TRAVERSAL_KEYS

public static final int DOWN_CYCLE_TRAVERSAL_KEYS
Идентификатор клавиш перехода к следующему циклу обхода фокуса.
См. также:
  • setDefaultFocusTraversalKeys(int, Set)
  • getDefaultFocusTraversalKeys(int)
  • Component.setFocusTraversalKeys(int, Set)
  • Component.getFocusTraversalKeys(int)
  • Значения константных полей

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

KeyboardFocusManager

public KeyboardFocusManager()
Инициализирует KeyboardFocusManager.

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

getCurrentKeyboardFocusManager

public static KeyboardFocusManager getCurrentKeyboardFocusManager()
Возвращает текущий экземпляр KeyboardFocusManager
Возвращает:
текущий KeyboardFocusManager
См. также:
  • setCurrentKeyboardFocusManager(KeyboardFocusManager)

setCurrentKeyboardFocusManager

public static void setCurrentKeyboardFocusManager(KeyboardFocusManager newManager)
Устанавливает текущий экземпляр KeyboardFocusManager. Если указано значение null, текущий KeyboardFocusManager заменяется новым экземпляром DefaultKeyboardFocusManager.
Параметры:
newManager — новый KeyboardFocusManager
См. также:
  • getCurrentKeyboardFocusManager()
  • DefaultKeyboardFocusManager

getFocusOwner

public Component getFocusOwner()
Возвращает владельца фокуса, если он находится в том же контексте, что и вызывающий поток. Владельцем фокуса считается Component приложения, который обычно получает все KeyEvent, созданные пользователем. KeyEvent, соответствующие клавишам обхода фокуса владельца фокуса, не будут доставлены, если для владельца фокуса включён обход фокуса. Кроме того, KeyEventDispatcher может перенаправить или обработать KeyEvent до их передачи владельцу фокуса.
Возвращает:
владельца фокуса или null, если владелец фокуса не входит в контекст вызывающего потока
См. также:
  • getGlobalFocusOwner()
  • setGlobalFocusOwner(Component)

getGlobalFocusOwner

protected Component getGlobalFocusOwner()
Возвращает владельца фокуса, даже если вызывающий поток находится в другом контексте. Владельцем фокуса считается Component приложения, который обычно получает все KeyEvent, созданные пользователем. KeyEvent, соответствующие клавишам обхода фокуса владельца фокуса, не будут доставлены, если для владельца фокуса включён обход фокуса. Кроме того, KeyEventDispatcher может перенаправить или обработать KeyEvent до их передачи владельцу фокуса.
Возвращает:
владельца фокуса
См. также:
  • getFocusOwner()
  • setGlobalFocusOwner(Component)

setGlobalFocusOwner

protected void setGlobalFocusOwner(Component focusOwner)
Устанавливает владельца фокуса. Операция будет отменена, если Component не поддерживает получение фокуса. Владельцем фокуса считается Component приложения, который обычно получает все KeyEvent, созданные пользователем. KeyEvent, соответствующие клавишам обхода фокуса владельца фокуса, не будут доставлены, если для владельца фокуса включён обход фокуса. Кроме того, KeyEventDispatcher может перенаправить или обработать KeyEvent до их передачи владельцу фокуса.

Этот метод фактически не устанавливает фокус на указанный Component. Он лишь сохраняет значение, которое впоследствии будет возвращено методом getFocusOwner(). Чтобы изменить владельца фокуса с учётом ограничений платформы, используйте Component.requestFocus() или Component.requestFocusInWindow().

Параметры:
focusOwner — владелец фокуса
См. также:
  • getFocusOwner()
  • getGlobalFocusOwner()
  • Component.requestFocus()
  • Component.requestFocusInWindow()
  • Component.isFocusable()

clearFocusOwner

public void clearFocusOwner()
Сбрасывает владельца фокуса на уровне Java и на нативном уровне, если владелец фокуса существует и находится в том же контексте, что и вызывающий поток; в противном случае метод завершается без каких-либо действий.

Компонент — владелец фокуса получит постоянное событие FOCUS_LOST. После завершения этой операции нативная оконная система будет отбрасывать все KeyEvent, созданные пользователем, пока пользователь не выберет новый Component для получения фокуса или фокус не будет явно передан Component вызовом requestFocus(). Эта операция не изменяет активные или сфокусированные окна.

Начиная с версии:
1.8
См. также:
  • Component.requestFocus()
  • FocusEvent.FOCUS_LOST

clearGlobalFocusOwner

public void clearGlobalFocusOwner()
Сбрасывает глобального владельца фокуса на уровне Java и на нативном уровне. Если владелец фокуса существует, этот Component получит постоянное событие FOCUS_LOST. После завершения этой операции нативная оконная система будет отбрасывать все KeyEvent, созданные пользователем, пока пользователь не выберет новый Component для получения фокуса или фокус не будет явно передан Component вызовом requestFocus(). Эта операция не изменяет активные или сфокусированные окна.

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

См. также:
  • clearFocusOwner()
  • Component.requestFocus()
  • FocusEvent.FOCUS_LOST

getPermanentFocusOwner

public Component getPermanentFocusOwner()
Возвращает постоянного владельца фокуса. Постоянным владельцем фокуса считается последний Component в приложении, получивший постоянное событие FOCUS_GAINED. Владелец фокуса и постоянный владелец фокуса совпадают, если в данный момент не выполняется временное изменение фокуса. В этом случае после завершения временного изменения фокуса постоянный владелец фокуса снова станет владельцем фокуса.
Возвращает:
постоянного владельца фокуса или null, если он отсутствует
См. также:
  • getGlobalPermanentFocusOwner()
  • setGlobalPermanentFocusOwner(Component)

getGlobalPermanentFocusOwner

protected Component getGlobalPermanentFocusOwner()
Возвращает постоянного владельца фокуса. Постоянным владельцем фокуса считается последний Component в приложении, получивший постоянное событие FOCUS_GAINED. Владелец фокуса и постоянный владелец фокуса совпадают, если в данный момент не выполняется временное изменение фокуса. В этом случае после завершения временного изменения фокуса постоянный владелец фокуса снова станет владельцем фокуса.
Возвращает:
постоянного владельца фокуса или null, если он отсутствует
См. также:
  • getPermanentFocusOwner()
  • setGlobalPermanentFocusOwner(Component)

setGlobalPermanentFocusOwner

protected void setGlobalPermanentFocusOwner(Component permanentFocusOwner)
Устанавливает постоянного владельца фокуса. Операция будет отменена, если Component не поддерживает получение фокуса. Постоянным владельцем фокуса считается последний Component в приложении, получивший постоянное событие FOCUS_GAINED. Владелец фокуса и постоянный владелец фокуса совпадают, если в данный момент не выполняется временное изменение фокуса. В этом случае после завершения временного изменения фокуса постоянный владелец фокуса снова станет владельцем фокуса.

Этот метод фактически не устанавливает фокус на указанный Component. Он лишь сохраняет значение, которое впоследствии будет возвращено методом getPermanentFocusOwner(). Чтобы изменить владельца фокуса с учётом ограничений платформы, используйте Component.requestFocus() или Component.requestFocusInWindow().

Параметры:
permanentFocusOwner — постоянный владелец фокуса
См. также:
  • getPermanentFocusOwner()
  • getGlobalPermanentFocusOwner()
  • Component.requestFocus()
  • Component.requestFocusInWindow()
  • Component.isFocusable()

getFocusedWindow

public Window getFocusedWindow()
Возвращает сфокусированное окно. Сфокусированное окно — это окно, которое является владельцем фокуса или содержит его.
Возвращает:
сфокусированное окно или null, если оно отсутствует
См. также:
  • getGlobalFocusedWindow()
  • setGlobalFocusedWindow(Window)

getGlobalFocusedWindow

protected Window getGlobalFocusedWindow()
Возвращает сфокусированное окно, даже если вызывающий поток находится в другом контексте. Сфокусированное окно — это окно, которое является владельцем фокуса или содержит его.
Возвращает:
сфокусированное окно
См. также:
  • getFocusedWindow()
  • setGlobalFocusedWindow(Window)

setGlobalFocusedWindow

protected void setGlobalFocusedWindow(Window focusedWindow)
Устанавливает сфокусированное окно. Сфокусированное окно — это окно, которое является владельцем фокуса или содержит его. Операция будет отменена, если указанное окно не поддерживает получение фокуса.

С точки зрения нативной оконной системы этот метод фактически не изменяет сфокусированное окно. Он лишь сохраняет значение, которое впоследствии будет возвращено методом getFocusedWindow(). Чтобы изменить сфокусированное окно с учётом ограничений платформы, используйте Component.requestFocus() или Component.requestFocusInWindow().

Параметры:
focusedWindow — сфокусированное окно
См. также:
  • getFocusedWindow()
  • getGlobalFocusedWindow()
  • Component.requestFocus()
  • Component.requestFocusInWindow()
  • Window.isFocusableWindow()

getActiveWindow

public Window getActiveWindow()
Возвращает активное окно. Активным окном может быть только Frame или Dialog. Нативная оконная система может выделять активное окно или его дочерние окна специальными элементами оформления, например подсвеченной строкой заголовка. Активное окно всегда либо является сфокусированным окном, либо представляет собой первое окно Frame или Dialog, которому принадлежит сфокусированное окно.
Возвращает:
активное окно или null, если оно отсутствует
См. также:
  • getGlobalActiveWindow()
  • setGlobalActiveWindow(Window)

getGlobalActiveWindow

protected Window getGlobalActiveWindow()
Возвращает активное окно, даже если вызывающий поток находится в другом контексте. Активным окном может быть только Frame или Dialog. Нативная оконная система может выделять активное окно или его дочерние окна специальными элементами оформления, например подсвеченной строкой заголовка. Активное окно всегда либо является сфокусированным окном, либо представляет собой первое окно Frame или Dialog, которому принадлежит сфокусированное окно.
Возвращает:
активное окно
См. также:
  • getActiveWindow()
  • setGlobalActiveWindow(Window)

setGlobalActiveWindow

protected void setGlobalActiveWindow(Window activeWindow)
Устанавливает активное окно. Активным окном может быть только Frame или Dialog. Нативная оконная система может выделять активное окно или его дочерние окна специальными элементами оформления, например подсвеченной строкой заголовка. Активное окно всегда либо является сфокусированным окном, либо представляет собой первое окно Frame или Dialog, которому принадлежит сфокусированное окно.

С точки зрения нативной оконной системы этот метод фактически не изменяет активное окно. Он лишь сохраняет значение, которое впоследствии будет возвращено методом getActiveWindow(). Чтобы изменить активное окно с учётом ограничений платформы, используйте Component.requestFocus() или Component.requestFocusInWindow().

Параметры:
activeWindow — активное окно
См. также:
  • getActiveWindow()
  • getGlobalActiveWindow()
  • Component.requestFocus()
  • Component.requestFocusInWindow()

getDefaultFocusTraversalPolicy

public FocusTraversalPolicy getDefaultFocusTraversalPolicy()
Возвращает политику обхода фокуса по умолчанию. Компоненты верхнего уровня используют это значение при создании, чтобы инициализировать собственную политику обхода фокуса явным вызовом Container.setFocusTraversalPolicy.
Возвращает:
политику обхода фокуса по умолчанию. Значение null никогда не возвращается.
См. также:
  • setDefaultFocusTraversalPolicy(FocusTraversalPolicy)
  • Container.setFocusTraversalPolicy(FocusTraversalPolicy)
  • Container.getFocusTraversalPolicy()

setDefaultFocusTraversalPolicy

public void setDefaultFocusTraversalPolicy(FocusTraversalPolicy defaultPolicy)
Устанавливает политику обхода фокуса по умолчанию. Компоненты верхнего уровня используют это значение при создании, чтобы инициализировать собственную политику обхода фокуса явным вызовом Container.setFocusTraversalPolicy. Примечание: этот вызов не влияет на уже созданные компоненты, поскольку их политика уже инициализирована. Эту политику в качестве политики по умолчанию будут использовать только новые компоненты.
Параметры:
defaultPolicy — новая политика обхода фокуса по умолчанию
Вызывает исключение:
IllegalArgumentException — если defaultPolicy имеет значение null
См. также:
  • getDefaultFocusTraversalPolicy()
  • Container.setFocusTraversalPolicy(FocusTraversalPolicy)
  • Container.getFocusTraversalPolicy()

setDefaultFocusTraversalKeys

public void setDefaultFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)
Устанавливает клавиши обхода фокуса по умолчанию для заданной операции обхода. Этот набор клавиш обхода Set будет действовать для всех Windows, для которых такой Set не задан явно. Этот Set также будет рекурсивно наследоваться всеми дочерними Component этих Windows, для которых такой Set не задан явно.

Значения клавиш обхода фокуса по умолчанию зависят от реализации. Sun рекомендует, чтобы все реализации для конкретной нативной платформы использовали одинаковые значения по умолчанию. Рекомендации для Windows и Unix приведены ниже. Эти рекомендации используются в реализациях Sun AWT.

Рекомендуемые значения клавиш обхода фокуса по умолчанию
Идентификатор Назначение По умолчанию
KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS Обычный переход клавиатурой вперёд TAB в KEY_PRESSED, CTRL-TAB в KEY_PRESSED
KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS Обычный обратный переход клавиатурой SHIFT-TAB в KEY_PRESSED, CTRL-SHIFT-TAB в KEY_PRESSED
KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS Перейти на один цикл обхода фокуса вверх нет
KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS Перейти на один цикл обхода фокуса вниз нет
Чтобы отключить клавишу обхода, используйте пустой Set; рекомендуется Collections.EMPTY_SET.

С помощью API AWTKeyStroke клиентский код может указать, для какой из двух конкретных KeyEvent — KEY_PRESSED или KEY_RELEASED — будет выполняться операция обхода фокуса. Однако независимо от указанного KeyEvent все KeyEvent, относящиеся к клавише обхода фокуса, включая связанное событие KEY_TYPED, будут обработаны и не будут отправлены ни одному Component. Указание события KEY_TYPED в качестве операции обхода фокуса или сопоставление одного и того же события нескольким операциям обхода фокуса по умолчанию приводит к ошибке времени выполнения.

Этот метод может вызвать ClassCastException, если любой Object в keystrokes не является AWTKeyStroke.

Параметры:
id — одно из значений KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS или KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS
keystrokes — Set, содержащий AWTKeyStroke для указанной операции
Вызывает исключение:
IllegalArgumentException — если id не является одним из значений KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS или KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS, либо если keystrokes имеет значение null, содержит null, какое-либо нажатие клавиши представляет собой событие KEY_TYPED или уже сопоставлено другой операции обхода фокуса по умолчанию
См. также:
  • getDefaultFocusTraversalKeys(int)
  • Component.setFocusTraversalKeys(int, Set)
  • Component.getFocusTraversalKeys(int)

getDefaultFocusTraversalKeys

public Set<AWTKeyStroke> getDefaultFocusTraversalKeys(int id)
Возвращает Set клавиш обхода фокуса по умолчанию для заданной операции обхода. Этот Set клавиш обхода будет действовать для всех окон, для которых такой Set не задан явно. Этот Set также будет рекурсивно наследоваться всеми дочерними Component этих окон, для которых такой Set не задан явно. (Полное описание каждой операции см. в setDefaultFocusTraversalKeys.)
Параметры:
id — одно из значений KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS или KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS
Возвращает:
Set из AWTKeyStroke для указанной операции; Set будет неизменяемым и может быть пустым; null никогда не возвращается
Вызывает исключение:
IllegalArgumentException — если id не является одним из значений KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS или KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS
См. также:
  • setDefaultFocusTraversalKeys(int, Set)
  • Component.setFocusTraversalKeys(int, Set)
  • Component.getFocusTraversalKeys(int)

getCurrentFocusCycleRoot

public Container getCurrentFocusCycleRoot()
Возвращает текущий корень цикла фокуса, если он находится в том же контексте, что и вызывающий поток. Если владелец фокуса сам является корнем цикла фокуса, может быть неоднозначно, какие Component считать следующим и предыдущим компонентами для получения фокуса при обычном обходе фокуса. В этом случае текущий корень цикла фокуса используется для выбора одного из возможных вариантов.

Этот метод предназначен только для KeyboardFocusManager и реализаций управления фокусом. Он не предназначен для общего использования клиентским кодом.

Возвращает:
текущий корень цикла фокуса или null, если он не входит в контекст вызывающего потока
См. также:
  • getGlobalCurrentFocusCycleRoot()
  • setGlobalCurrentFocusCycleRoot(Container)

getGlobalCurrentFocusCycleRoot

protected Container getGlobalCurrentFocusCycleRoot()
Возвращает текущий корень цикла фокуса, даже если вызывающий поток находится в другом контексте. Если владелец фокуса сам является корнем цикла фокуса, может быть неоднозначно, какие Component считать следующим и предыдущим компонентами для получения фокуса при обычном обходе фокуса. В этом случае текущий корень цикла фокуса используется для выбора одного из возможных вариантов.
Возвращает:
текущий корень цикла фокуса или null, если он не входит в контекст вызывающего потока
См. также:
  • getCurrentFocusCycleRoot()
  • setGlobalCurrentFocusCycleRoot(Container)

setGlobalCurrentFocusCycleRoot

public void setGlobalCurrentFocusCycleRoot(Container newFocusCycleRoot)
Устанавливает текущий корень цикла фокуса. Если владелец фокуса сам является корнем цикла фокуса, может быть неоднозначно, какие Component считать следующим и предыдущим компонентами для получения фокуса при обычном обходе фокуса. В этом случае текущий корень цикла фокуса используется для выбора одного из возможных вариантов.

Этот метод предназначен только для KeyboardFocusManager и реализаций управления фокусом. Он не предназначен для общего использования клиентским кодом.

Параметры:
newFocusCycleRoot — новый корень цикла фокуса
См. также:
  • getCurrentFocusCycleRoot()
  • getGlobalCurrentFocusCycleRoot()

addPropertyChangeListener

public void addPropertyChangeListener(PropertyChangeListener listener)
Добавляет PropertyChangeListener в список слушателей. Слушатель регистрируется для всех связанных свойств этого класса, включая следующие:
  • управляет ли в данный момент KeyboardFocusManager фокусом для этого приложения ("managingFocus")
  • владелец фокуса ("focusOwner")
  • постоянный владелец фокуса ("permanentFocusOwner")
  • окно в фокусе ("focusedWindow")
  • активное окно ("activeWindow")
  • политика обхода фокуса по умолчанию ("defaultFocusTraversalPolicy")
  • набор стандартных FORWARD_TRAVERSAL_KEYS ("forwardDefaultFocusTraversalKeys")
  • набор стандартных BACKWARD_TRAVERSAL_KEYS ("backwardDefaultFocusTraversalKeys")
  • набор стандартных UP_CYCLE_TRAVERSAL_KEYS ("upCycleDefaultFocusTraversalKeys")
  • набор стандартных DOWN_CYCLE_TRAVERSAL_KEYS ("downCycleDefaultFocusTraversalKeys")
  • текущий корень цикла фокуса ("currentFocusCycleRoot")
Если listener равен null, исключение не выбрасывается и никаких действий не выполняется.
Параметры:
listener — добавляемый PropertyChangeListener
См. также:
  • removePropertyChangeListener(PropertyChangeListener)
  • getPropertyChangeListeners()
  • addPropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)

removePropertyChangeListener

public void removePropertyChangeListener(PropertyChangeListener listener)
Удаляет PropertyChangeListener из списка слушателей. Этот метод следует использовать для удаления PropertyChangeListener, зарегистрированных для всех связанных свойств этого класса.

Если listener равен null, исключение не выбрасывается и никаких действий не выполняется.

Параметры:
listener — удаляемый PropertyChangeListener
См. также:
  • addPropertyChangeListener(PropertyChangeListener)
  • getPropertyChangeListeners()
  • removePropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)

getPropertyChangeListeners

public PropertyChangeListener[] getPropertyChangeListeners()
Возвращает массив всех слушателей изменений свойств, зарегистрированных в этом диспетчере фокуса клавиатуры.
Возвращает:
все PropertyChangeListener этого диспетчера фокуса клавиатуры или пустой массив, если в данный момент слушатели изменений свойств не зарегистрированы
С версии:
1.4
См. также:
  • addPropertyChangeListener(PropertyChangeListener)
  • removePropertyChangeListener(PropertyChangeListener)
  • getPropertyChangeListeners(java.lang.String)

addPropertyChangeListener

public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
Добавляет PropertyChangeListener в список слушателей для указанного свойства. Указанное свойство может быть определено пользователем или относиться к одному из следующих:
  • управляет ли в данный момент KeyboardFocusManager фокусом для этого приложения ("managingFocus")
  • владелец фокуса ("focusOwner")
  • постоянный владелец фокуса ("permanentFocusOwner")
  • окно в фокусе ("focusedWindow")
  • активное окно ("activeWindow")
  • политика обхода фокуса по умолчанию ("defaultFocusTraversalPolicy")
  • набор стандартных FORWARD_TRAVERSAL_KEYS ("forwardDefaultFocusTraversalKeys")
  • набор стандартных BACKWARD_TRAVERSAL_KEYS ("backwardDefaultFocusTraversalKeys")
  • набор стандартных UP_CYCLE_TRAVERSAL_KEYS ("upCycleDefaultFocusTraversalKeys")
  • набор стандартных DOWN_CYCLE_TRAVERSAL_KEYS ("downCycleDefaultFocusTraversalKeys")
  • текущий корень цикла фокуса ("currentFocusCycleRoot")
Если listener равен null, исключение не выбрасывается и никаких действий не выполняется.
Параметры:
propertyName — одно из перечисленных выше имён свойств
listener — добавляемый PropertyChangeListener
См. также:
  • addPropertyChangeListener(java.beans.PropertyChangeListener)
  • removePropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)
  • getPropertyChangeListeners(java.lang.String)

removePropertyChangeListener

public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener)
Удаляет PropertyChangeListener из списка слушателей для указанного свойства. Этот метод следует использовать для удаления PropertyChangeListener, зарегистрированных для конкретного связанного свойства.

Если listener равен null, исключение не выбрасывается и никаких действий не выполняется.

Параметры:
propertyName — допустимое имя свойства
listener — удаляемый PropertyChangeListener
См. также:
  • addPropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)
  • getPropertyChangeListeners(java.lang.String)
  • removePropertyChangeListener(java.beans.PropertyChangeListener)

getPropertyChangeListeners

public PropertyChangeListener[] getPropertyChangeListeners(String propertyName)
Возвращает массив всех PropertyChangeListener, связанных с указанным свойством.
Параметры:
propertyName — имя свойства
Возвращает:
все PropertyChangeListener, связанные с указанным свойством, или пустой массив, если такие слушатели не были добавлены.
С версии:
1.4
См. также:
  • addPropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)
  • removePropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)

firePropertyChange

protected void firePropertyChange(String propertyName, Object oldValue, Object newValue)
Создаёт PropertyChangeEvent в ответ на изменение связанного свойства. Событие будет доставлено всем зарегистрированным PropertyChangeListener. Событие не доставляется, если oldValue и newValue совпадают.
Параметры:
propertyName — имя изменившегося свойства
oldValue — предыдущее значение свойства
newValue — новое значение свойства

addVetoableChangeListener

public void addVetoableChangeListener(VetoableChangeListener listener)
Добавляет VetoableChangeListener в список слушателей. Слушатель регистрируется для всех свойств этого класса, изменение которых может быть отменено, включая следующие:
  • владелец фокуса ("focusOwner")
  • постоянный владелец фокуса ("permanentFocusOwner")
  • окно в фокусе ("focusedWindow")
  • активное окно ("activeWindow")
Если listener равен null, исключение не выбрасывается и никаких действий не выполняется.
Параметры:
listener — добавляемый VetoableChangeListener
См. также:
  • removeVetoableChangeListener(VetoableChangeListener)
  • getVetoableChangeListeners()
  • addVetoableChangeListener(java.lang.String,java.beans.VetoableChangeListener)

removeVetoableChangeListener

public void removeVetoableChangeListener(VetoableChangeListener listener)
Удаляет VetoableChangeListener из списка слушателей. Этот метод следует использовать для удаления VetoableChangeListener, зарегистрированных для всех свойств этого класса, изменение которых может быть отменено.

Если listener равен null, исключение не выбрасывается и никаких действий не выполняется.

Параметры:
listener — удаляемый VetoableChangeListener
См. также:
  • addVetoableChangeListener(VetoableChangeListener)
  • getVetoableChangeListeners()
  • removeVetoableChangeListener(java.lang.String,java.beans.VetoableChangeListener)

getVetoableChangeListeners

public VetoableChangeListener[] getVetoableChangeListeners()
Возвращает массив всех слушателей изменений, которые могут быть отменены, зарегистрированных в этом диспетчере фокуса клавиатуры.
Возвращает:
все VetoableChangeListener этого диспетчера фокуса клавиатуры или пустой массив, если в данный момент слушатели изменений, которые могут быть отменены, не зарегистрированы
С версии:
1.4
См. также:
  • addVetoableChangeListener(VetoableChangeListener)
  • removeVetoableChangeListener(VetoableChangeListener)
  • getVetoableChangeListeners(java.lang.String)

addVetoableChangeListener

public void addVetoableChangeListener(String propertyName, VetoableChangeListener listener)
Добавляет VetoableChangeListener в список слушателей для указанного свойства. Указанное свойство может быть определено пользователем или относиться к одному из следующих:
  • владелец фокуса ("focusOwner")
  • постоянный владелец фокуса ("permanentFocusOwner")
  • окно в фокусе ("focusedWindow")
  • активное окно ("activeWindow")
Если listener равен null, исключение не выбрасывается и никаких действий не выполняется.
Параметры:
propertyName — одно из перечисленных выше имён свойств
listener — добавляемый VetoableChangeListener
См. также:
  • addVetoableChangeListener(java.beans.VetoableChangeListener)
  • removeVetoableChangeListener(VetoableChangeListener)
  • getVetoableChangeListeners()

removeVetoableChangeListener

public void removeVetoableChangeListener(String propertyName, VetoableChangeListener listener)
Удаляет VetoableChangeListener из списка слушателей для указанного свойства. Этот метод следует использовать для удаления VetoableChangeListener, зарегистрированных для конкретного связанного свойства.

Если listener равен null, исключение не выбрасывается и никаких действий не выполняется.

Параметры:
propertyName — допустимое имя свойства
listener — удаляемый VetoableChangeListener
См. также:
  • addVetoableChangeListener(VetoableChangeListener)
  • getVetoableChangeListeners()
  • removeVetoableChangeListener(java.beans.VetoableChangeListener)

getVetoableChangeListeners

public VetoableChangeListener[] getVetoableChangeListeners(String propertyName)
Возвращает массив всех VetoableChangeListener, связанных с указанным свойством.
Параметры:
propertyName — имя свойства
Возвращает:
все VetoableChangeListener, связанные с указанным свойством, или пустой массив, если такие слушатели не были добавлены.
С версии:
1.4
См. также:
  • addVetoableChangeListener(java.lang.String,java.beans.VetoableChangeListener)
  • removeVetoableChangeListener(java.lang.String,java.beans.VetoableChangeListener)
  • getVetoableChangeListeners()

fireVetoableChange

protected void fireVetoableChange(String propertyName, Object oldValue, Object newValue) throws PropertyVetoException
Создаёт PropertyChangeEvent в ответ на изменение свойства, которое может быть отменено. Событие будет доставлено всем зарегистрированным VetoableChangeListener. Если VetoableChangeListener выбрасывает PropertyVetoException, создаётся новое событие, возвращающее всем VetoableChangeListener старое значение, после чего исключение выбрасывается повторно. Событие не доставляется, если oldValue и newValue совпадают.
Параметры:
propertyName — имя изменившегося свойства
oldValue — предыдущее значение свойства
newValue — новое значение свойства
Выбрасывает:
PropertyVetoException — если VetoableChangeListener выбросил PropertyVetoException

addKeyEventDispatcher

public void addKeyEventDispatcher(KeyEventDispatcher dispatcher)
Добавляет KeyEventDispatcher в цепочку диспетчеров этого KeyboardFocusManager. Этот KeyboardFocusManager запрашивает у каждого KeyEventDispatcher обработку созданных пользователем KeyEvent, прежде чем самостоятельно отправить KeyEvent. KeyEventDispatcher уведомляются в порядке их добавления. Уведомления прекращаются, как только один из KeyEventDispatcher возвращает true из своего метода dispatchKeyEvent. Число добавляемых KeyEventDispatcher не ограничено, как и число добавлений одного и того же экземпляра KeyEventDispatcher.

Если указан диспетчер null, никаких действий не выполняется и исключение не выбрасывается.

В многопоточном приложении KeyEventDispatcher работает так же, как и другие слушатели AWT. Дополнительные сведения см. в разделе Проблемы многопоточности в AWT.

Параметры:
dispatcher — KeyEventDispatcher, добавляемый в цепочку диспетчеров
См. также:
  • removeKeyEventDispatcher(KeyEventDispatcher)

removeKeyEventDispatcher

public void removeKeyEventDispatcher(KeyEventDispatcher dispatcher)
Удаляет KeyEventDispatcher, ранее добавленный в цепочку диспетчеров этого KeyboardFocusManager. Сам этот KeyboardFocusManager нельзя удалить, если только он не был явно зарегистрирован повторно вызовом addKeyEventDispatcher.

Если указан диспетчер null, указанный диспетчер отсутствует в цепочке диспетчеров или указан этот KeyboardFocusManager без его явной повторной регистрации, никаких действий не выполняется и исключение не выбрасывается.

В многопоточном приложении KeyEventDispatcher работает так же, как и другие слушатели AWT. Дополнительные сведения см. в разделе Проблемы многопоточности в AWT.

Параметры:
dispatcher — KeyEventDispatcher, удаляемый из цепочки диспетчеров
См. также:
  • addKeyEventDispatcher(KeyEventDispatcher)

getKeyEventDispatchers

protected List<KeyEventDispatcher> getKeyEventDispatchers()
Возвращает цепочку KeyEventDispatcher этого KeyboardFocusManager в виде List. List не будет включать этот KeyboardFocusManager, если только он не был явно зарегистрирован повторно вызовом addKeyEventDispatcher. Если другие KeyEventDispatcher не зарегистрированы, реализации могут вернуть null или List длины 0. Клиентский код не должен полагаться на один из вариантов поведения и считать, что установленное поведение не изменится.
Возвращает:
возможно, null или пустой List объектов KeyEventDispatcher
См. также:
  • addKeyEventDispatcher(KeyEventDispatcher)
  • removeKeyEventDispatcher(KeyEventDispatcher)

addKeyEventPostProcessor

public void addKeyEventPostProcessor(KeyEventPostProcessor processor)
Добавляет KeyEventPostProcessor в цепочку постобработчиков этого KeyboardFocusManager. После отправки KeyEvent целевому объекту и его обработки KeyboardFocusManager запрашивает у каждого KeyEventPostProcessor выполнение необходимой постобработки в рамках окончательной обработки KeyEvent. KeyEventPostProcessor уведомляются в порядке их добавления; текущий KeyboardFocusManager уведомляется последним. Уведомления прекращаются, как только один из KeyEventPostProcessor возвращает true из своего метода postProcessKeyEvent. Число добавляемых KeyEventPostProcessor не ограничено, как и число добавлений одного и того же экземпляра KeyEventPostProcessor.

Если указан постобработчик null, никаких действий не выполняется и исключение не выбрасывается.

В многопоточном приложении KeyEventPostProcessor работает так же, как и другие слушатели AWT. Дополнительные сведения см. в разделе Проблемы многопоточности в AWT.

Параметры:
processor — KeyEventPostProcessor, добавляемый в цепочку постобработчиков
См. также:
  • removeKeyEventPostProcessor(KeyEventPostProcessor)

removeKeyEventPostProcessor

public void removeKeyEventPostProcessor(KeyEventPostProcessor processor)
Удаляет ранее добавленный KeyEventPostProcessor из цепочки постобработчиков этого KeyboardFocusManager. Сам этот KeyboardFocusManager нельзя полностью удалить из цепочки. Можно удалить только дополнительные ссылки, добавленные с помощью addKeyEventPostProcessor.

Если указан постобработчик null, указанный постобработчик отсутствует в цепочке постобработчиков или указан этот KeyboardFocusManager без его явного добавления, никаких действий не выполняется и исключение не выбрасывается.

В многопоточном приложении KeyEventPostProcessor работает так же, как и другие слушатели AWT. Дополнительные сведения см. в разделе Проблемы многопоточности в AWT.

Параметры:
processor — KeyEventPostProcessor, удаляемый из цепочки постобработчиков
См. также:
  • addKeyEventPostProcessor(KeyEventPostProcessor)

getKeyEventPostProcessors

protected List<KeyEventPostProcessor> getKeyEventPostProcessors()
Возвращает цепочку KeyEventPostProcessor этого KeyboardFocusManager в виде List. List не будет включать этот KeyboardFocusManager, если только он не был явно добавлен вызовом addKeyEventPostProcessor. Если KeyEventPostProcessor не зарегистрированы, реализации могут вернуть null или List длины 0. Клиентский код не должен полагаться на один из вариантов поведения и считать, что установленное поведение не изменится.
Возвращает:
возможно, null или пустой List объектов KeyEventPostProcessor
См. также:
  • addKeyEventPostProcessor(KeyEventPostProcessor)
  • removeKeyEventPostProcessor(KeyEventPostProcessor)

dispatchEvent

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

redispatchEvent

public final void redispatchEvent(Component target, AWTEvent e)
Повторно отправляет AWTEvent таким образом, чтобы диспетчер событий AWT не запрашивал рекурсивно повторную отправку события от KeyboardFocusManager или установленных KeyEventDispatcher. Клиентские реализации dispatchEvent и определяемые клиентом KeyEventDispatcher должны вызывать redispatchEvent(target, e) вместо target.dispatchEvent(e) для отправки события.

Этот метод предназначен только для KeyboardFocusManager и KeyEventDispatcher. Он не предназначен для общего использования клиентским кодом.

Параметры:
target — Component, которому следует отправить событие
e — отправляемое событие
См. также:
  • dispatchEvent(AWTEvent)
  • KeyEventDispatcher

dispatchKeyEvent

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

postProcessKeyEvent

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

processKeyEvent

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

enqueueKeyEvents

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

dequeueKeyEvents

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

discardKeyEvents

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

focusNextComponent

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

focusPreviousComponent

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

upFocusCycle

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

downFocusCycle

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

focusNextComponent

public final void focusNextComponent()
Передаёт фокус компоненту, следующему за текущим владельцем фокуса.

focusPreviousComponent

public final void focusPreviousComponent()
Передаёт фокус компоненту, предшествующему текущему владельцу фокуса.

upFocusCycle

public final void upFocusCycle()
Перемещает фокус на один цикл обхода фокуса вверх от текущего владельца фокуса. Обычно новым владельцем фокуса становится корень цикла обхода фокуса для текущего владельца фокуса, а текущим корнем цикла обхода фокуса становится корень цикла обхода фокуса нового владельца фокуса. Однако если корень цикла обхода фокуса для текущего владельца фокуса является окном, то обычно владельцем фокуса становится компонент корня цикла обхода фокуса, на который по умолчанию должен перейти фокус, а текущий корень цикла обхода фокуса не меняется.

downFocusCycle

public final void downFocusCycle()
Перемещает фокус на один цикл обхода фокуса вниз от текущего владельца фокуса, только если текущий владелец фокуса является контейнером, который служит корнем цикла обхода фокуса. Обычно владельцем фокуса становится компонент текущего владельца фокуса, на который по умолчанию должен перейти фокус, а текущим корнем цикла обхода фокуса становится текущий владелец фокуса. Если текущий владелец фокуса не является контейнером, служащим корнем цикла обхода фокуса, переход фокуса не выполняется.

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по 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