Spec-Zone.ru › OpenJDK 24

Класс 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 является централизованной точкой для запроса владельца фокуса и инициирования изменений фокуса, а также диспетчером событий для всех событий FocusEvent, WindowEvent, связанных с фокусом, и KeyEvents.

Некоторые браузеры разделяют апплеты в разных кодовых базах на отдельные контексты и устанавливают барьеры между этими контекстами. В такой ситуации на каждый контекст будет приходиться один KeyboardFocusManager. Другие браузеры помещают все апплеты в один контекст, что означает, что для всех апплетов будет только один глобальный KeyboardFocusManager. Это поведение зависит от реализации. Обратитесь к документации вашего браузера для получения дополнительной информации. Однако независимо от того, сколько контекстов может быть, никогда не может быть более одного владельца фокуса, фокусированного окна или активного окна на один ClassLoader.

Дополнительную информацию можно найти в разделе Как использовать подсистему фокуса, являющейся частью учебника по 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)
Добавляет обработчик событий KeyEvent в цепочку обработчиков 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 о том, что он должен отменить отложенную отправку событий KeyEvent.
protected abstract void discardKeyEvents(Component comp)
Вызывается AWT для уведомления KeyboardFocusManager о том, что он должен отменить отложенную отправку событий KeyEvent.
abstract boolean dispatchEvent(AWTEvent e)
Этот метод вызывается диспетчером событий AWT, запрашивая, чтобы текущий KeyboardFocusManager отправил указанное событие от его имени.
abstract boolean dispatchKeyEvent(KeyEvent e)
Обычно этот метод будет вызываться dispatchEvent, если ни один другой KeyEventDispatcher в цепочке обработчиков не обработает KeyEvent или если не зарегистрированы другие KeyEventDispatchers.
final void downFocusCycle()
Перемещает фокус вниз на один цикл обхода фокуса от текущего владельца фокуса, если и только если текущий владелец фокуса является контейнером, являющимся корнем цикла обхода фокуса.
abstract void downFocusCycle(Container aContainer)
Перемещает фокус вниз на один цикл обхода фокуса.
protected abstract void enqueueKeyEvents(long after, Component untilFocused)
Вызывается AWT для уведомления KeyboardFocusManager о том, что он должен отложить отправку событий KeyEvent до тех пор, пока указанный Component не станет владельцем фокуса.
protected void firePropertyChange(String propertyName, Object oldValue, Object newValue)
Вызывает PropertyChangeEvent в ответ на изменение связанного свойства.
protected void fireVetoableChange(String propertyName, Object oldValue, Object newValue)
Вызывает PropertyChangeEvent в ответ на изменение вето-свойств.
final void focusNextComponent()
Фокусирует Component после текущего владельца фокуса.
abstract void focusNextComponent(Component aComponent)
Фокусирует Component после aComponent, обычно на основе FocusTraversalPolicy.
final void focusPreviousComponent()
Фокусирует Component перед текущим владельцем фокуса.
abstract void focusPreviousComponent(Component aComponent)
Фокусирует Component перед 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 в виде списка.
protected List<KeyEventPostProcessor> getKeyEventPostProcessors()
Возвращает цепочку KeyEventPostProcessor данного KeyboardFocusManager в виде списка.
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 или любые установленные KeyEventDispatchers повторно отправлять событие.
void removeKeyEventDispatcher(KeyEventDispatcher dispatcher)
Удаляет обработчик событий KeyEvent, который был ранее добавлен в цепочку обработчиков 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)
Перемещает фокус на один цикл прохода по фокусу вверх.

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

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

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

FORWARD_TRAVERSAL_KEYS

public static final int FORWARD_TRAVERSAL_KEYS
Идентификатор клавиш для перехода вперед по порядку фокусировки.
См. также:
  • setDefaultFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>)
  • getDefaultFocusTraversalKeys(int)
  • Component.setFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>)
  • Component.getFocusTraversalKeys(int)
  • Значения константного поля

BACKWARD_TRAVERSAL_KEYS

public static final int BACKWARD_TRAVERSAL_KEYS
Идентификатор клавиш для перехода назад по порядку фокусировки.
См. также:
  • setDefaultFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>)
  • getDefaultFocusTraversalKeys(int)
  • Component.setFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>)
  • Component.getFocusTraversalKeys(int)
  • Значения константного поля

UP_CYCLE_TRAVERSAL_KEYS

public static final int UP_CYCLE_TRAVERSAL_KEYS
Идентификатор клавиш для циклического перехода вверх по порядку фокусировки.
См. также:
  • setDefaultFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>)
  • getDefaultFocusTraversalKeys(int)
  • Component.setFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>)
  • Component.getFocusTraversalKeys(int)
  • Значения константного поля

DOWN_CYCLE_TRAVERSAL_KEYS

public static final int DOWN_CYCLE_TRAVERSAL_KEYS
Идентификатор клавиш для циклического перехода вниз по порядку фокусировки.
См. также:
  • setDefaultFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>)
  • getDefaultFocusTraversalKeys(int)
  • Component.setFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>)
  • Component.getFocusTraversalKeys(int)
  • Значения константного поля

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

KeyboardFocusManager

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

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

getCurrentKeyboardFocusManager

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

setCurrentKeyboardFocusManager

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

getFocusOwner

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

getGlobalFocusOwner

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

setGlobalFocusOwner

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

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

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

clearFocusOwner

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

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

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

clearGlobalFocusOwner

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

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

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

getPermanentFocusOwner

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

getGlobalPermanentFocusOwner

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

setGlobalPermanentFocusOwner

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

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

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

getFocusedWindow

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

getGlobalFocusedWindow

protected Window getGlobalFocusedWindow()
Возвращает окно с фокусом, даже если вызывающая нить находится в другом контексте, чем окно с фокусом. Окно с фокусом — это окно, которое содержит или является владельцем владельца фокуса.
Возвращает:
окно с фокусом
См. также:
  • getFocusedWindow()
  • setGlobalFocusedWindow(java.awt.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(java.awt.Window)

getGlobalActiveWindow

protected Window getGlobalActiveWindow()
Возвращает активное окно, даже если вызывающая нить находится в другом контексте, чем активное окно. Активным окном может быть только окно Frame или Dialog. Системное окно может обозначить активное окно или его дочерние элементы специальными элементами оформления, такими как выделенная строка заголовка. Активное окно всегда является либо окном с фокусом, либо первым окном Frame или Dialog, являющимся владельцем окна с фокусом.
Возвращает:
активное окно
См. также:
  • getActiveWindow()
  • setGlobalActiveWindow(java.awt.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(java.awt.FocusTraversalPolicy)
  • Container.setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)
  • Container.getFocusTraversalPolicy()

setDefaultFocusTraversalPolicy

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

setDefaultFocusTraversalKeys

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

Значения по умолчанию для стандартных клавиш перемещения фокуса зависят от реализации. 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.

Parameters:
id - один из KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS или KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS
keystrokes - набор AWTKeyStroke для заданной операции
Throws:
IllegalArgumentException - если id не является одним из KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS или KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS, или если keystrokes является null, или если keystrokes содержит null, или если любая клавиша представляет собой событие KEY_TYPED, или если любая клавиша уже сопоставлена с другой операцией стандартного перемещения фокуса
See Also:
  • getDefaultFocusTraversalKeys(int)
  • Component.setFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>)
  • Component.getFocusTraversalKeys(int)

getDefaultFocusTraversalKeys

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

getCurrentFocusCycleRoot

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

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

Returns:
текущая корневая точка цикла фокуса или null, если текущая корневая точка цикла фокуса не является членом контекста вызывающей нити
See Also:
  • getGlobalCurrentFocusCycleRoot()
  • setGlobalCurrentFocusCycleRoot(java.awt.Container)

getGlobalCurrentFocusCycleRoot

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

setGlobalCurrentFocusCycleRoot

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

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

Parameters:
newFocusCycleRoot - новая корневая точка цикла фокуса
See Also:
  • 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, исключение не выбрасывается и никаких действий не выполняется.
Parameters:
listener - добавляемый PropertyChangeListener
See Also:
  • removePropertyChangeListener(java.beans.PropertyChangeListener)
  • getPropertyChangeListeners()
  • addPropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)

removePropertyChangeListener

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

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

Parameters:
listener - удаляемый PropertyChangeListener
See Also:
  • addPropertyChangeListener(java.beans.PropertyChangeListener)
  • getPropertyChangeListeners()
  • removePropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)

getPropertyChangeListeners

public PropertyChangeListener[] getPropertyChangeListeners()
Возвращает массив всех слушателей изменений свойств, зарегистрированных в этом менеджере фокуса клавиатуры.
Возвращает:
все слушатели изменений свойств этого менеджера фокуса клавиатуры или пустой массив, если слушатели изменений свойств не зарегистрированы
С:
1.4
См. также:
  • addPropertyChangeListener(java.beans.PropertyChangeListener)
  • removePropertyChangeListener(java.beans.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 из списка слушателей для определенного свойства. Этот метод следует использовать для удаления PropertyChangeListeners, которые были зарегистрированы для определенного связанного свойства.

Если 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)
Возвращает массив всех слушателей изменений свойств, связанных с заданным свойством.
Параметры:
propertyName - имя свойства
Возвращает:
все слушатели изменений свойств, связанные с заданным свойством, или пустой массив, если такие слушатели не были добавлены.
С:
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 в ответ на изменение связанного свойства. Событие будет доставлено всем зарегистрированным PropertyChangeListeners. Событие не будет доставлено, если oldValue и newValue одинаковы.
Параметры:
propertyName - имя свойства, которое изменилось
oldValue - предыдущее значение свойства
newValue - новое значение свойства

addVetoableChangeListener

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

removeVetoableChangeListener

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

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

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

getVetoableChangeListeners

public VetoableChangeListener[] getVetoableChangeListeners()
Возвращает массив всех слушателей изменений вето, зарегистрированных в этом менеджере фокуса клавиатуры.
Возвращает:
все слушатели изменений вето этого менеджера фокуса клавиатуры или пустой массив, если слушатели изменений вето не зарегистрированы
С:
1.4
См. также:
  • addVetoableChangeListener(java.beans.VetoableChangeListener)
  • removeVetoableChangeListener(java.beans.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(java.beans.VetoableChangeListener)
  • getVetoableChangeListeners()

removeVetoableChangeListener

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

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

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

getVetoableChangeListeners

public VetoableChangeListener[] getVetoableChangeListeners(String propertyName)
Возвращает массив всех слушателей изменений вето, связанных с заданным свойством.
Параметры:
propertyName - имя свойства
Возвращает:
все слушатели изменений вето, связанные с заданным свойством, или пустой массив, если такие слушатели не были добавлены.
С:
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 в ответ на изменение вето-свойств. Событие будет передано всем зарегистрированным VetoableChangeListeners. Если VetoableChangeListener вызывает исключение PropertyVetoException, новое событие отправляется, восстанавливая все VetoableChangeListeners до старого значения, и затем перебрасывается исключение. Событие не будет передано, если oldValue и newValue совпадают.
Parameters:
propertyName - имя свойства, которое изменилось
oldValue - предыдущее значение свойства
newValue - новое значение свойства
Throws:
PropertyVetoException - если VetoableChangeListener выбросило PropertyVetoException

addKeyEventDispatcher

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

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

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

Parameters:
dispatcher - KeyEventDispatcher для добавления в цепочку диспетчеров
See Also:
  • removeKeyEventDispatcher(java.awt.KeyEventDispatcher)

removeKeyEventDispatcher

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

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

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

Parameters:
dispatcher - KeyEventDispatcher для удаления из цепочки диспетчеров
See Also:
  • addKeyEventDispatcher(java.awt.KeyEventDispatcher)

getKeyEventDispatchers

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

addKeyEventPostProcessor

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

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

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

Parameters:
processor - KeyEventPostProcessor для добавления в цепочку постобработчиков
See Also:
  • removeKeyEventPostProcessor(java.awt.KeyEventPostProcessor)

removeKeyEventPostProcessor

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

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

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

Parameters:
processor - KeyEventPostProcessor для удаления из цепочки постобработчиков
See Also:
  • addKeyEventPostProcessor(java.awt.KeyEventPostProcessor)

getKeyEventPostProcessors

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

dispatchEvent

public abstract boolean dispatchEvent(AWTEvent e)
Этот метод вызывается диспетчером событий AWT, запрашивая текущий KeyboardFocusManager обработать указанное событие от его имени. Ожидается, что все KeyboardFocusManagers будут обрабатывать все FocusEvents, все WindowEvents, связанные с фокусом, и все KeyEvents. Эти события должны обрабатываться на основе представления KeyboardFocusManager о владельце фокуса и фокусированных и активных окнах, иногда перезаписывая источник указанного AWTEvent. Обработка должна выполняться с использованием redispatchEvent, чтобы предотвратить рекурсивный запрос диспетчера событий AWT, чтобы KeyboardFocusManager обработал событие повторно. Если этот метод возвращает false, то диспетчер событий AWT попытается обработать событие самостоятельно.
Parameters:
e - AWTEvent для обработки
Returns:
true, если этот метод обработал событие; false в противном случае
See Also:
  • redispatchEvent(java.awt.Component, java.awt.AWTEvent)
  • dispatchKeyEvent(java.awt.event.KeyEvent)

redispatchEvent

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

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

Parameters:
target - Компонент, которому следует передать событие
e - событие для обработки
See Also:
  • dispatchEvent(java.awt.AWTEvent)
  • KeyEventDispatcher

dispatchKeyEvent

public abstract boolean dispatchKeyEvent(KeyEvent e)
Обычно этот метод вызывается dispatchEvent, если ни один другой KeyEventDispatcher в цепочке диспетчеров не обработала KeyEvent, или если другие KeyEventDispatchers не зарегистрированы. Если реализация этого метода возвращает false, dispatchEvent может попытаться обработать KeyEvent самостоятельно или просто вернуть false. Если возвращается true, то dispatchEvent также должен вернуть true.
Specified by:
dispatchKeyEvent в интерфейсе KeyEventDispatcher
Parameters:
e - KeyEvent, обработку которого запросил текущий KeyboardFocusManager
Returns:
true, если KeyEvent был обработан; false в противном случае
See Also:
  • dispatchEvent(java.awt.AWTEvent)

postProcessKeyEvent

public abstract boolean postProcessKeyEvent(KeyEvent e)
Этот метод вызывается dispatchKeyEvent. По умолчанию этот метод обрабатывает любые необработанные KeyEvents, которые соответствуют AWT MenuShortcut, потребляя событие и активируя сочетание клавиш.
Specified by:
postProcessKeyEvent в интерфейсе KeyEventPostProcessor
Parameters:
e - KeyEvent для последующей обработки
Returns:
true, чтобы указать, что другие KeyEventPostProcessor не будут уведомлены о KeyEvent.
See Also:
  • dispatchKeyEvent(java.awt.event.KeyEvent)
  • MenuShortcut

processKeyEvent

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

enqueueKeyEvents

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

dequeueKeyEvents

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

discardKeyEvents

protected abstract void discardKeyEvents(Component comp)
Вызывается AWT, чтобы уведомить KeyboardFocusManager об отмене отложенной обработки KeyEvents. Все KeyEvents, которые были помещены в очередь из-за одного или нескольких вызовов enqueueKeyEvents с тем же компонентом, должны быть удалены.
Parameters:
comp - Компонент, указанный в одном или нескольких вызовах enqueueKeyEvents
See Also:
  • enqueueKeyEvents(long, java.awt.Component)
  • dequeueKeyEvents(long, java.awt.Component)

focusNextComponent

public abstract void focusNextComponent(Component aComponent)
Переводит фокус на компонент, следующий за aComponent, обычно на основе FocusTraversalPolicy.
Parameters:
aComponent - Компонент, являющийся основой для операции перехода фокуса
See Also:
  • FocusTraversalPolicy

focusPreviousComponent

public abstract void focusPreviousComponent(Component aComponent)
Переводит фокус на компонент, предшествующий aComponent, обычно на основе FocusTraversalPolicy.
Parameters:
aComponent - Компонент, являющийся основой для операции перехода фокуса
See Also:
  • FocusTraversalPolicy

upFocusCycle

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

downFocusCycle

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

focusNextComponent

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

focusPreviousComponent

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

upFocusCycle

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

downFocusCycle

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

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/awt/KeyboardFocusManager.html

Spec-Zone.ru

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