Spec-Zone.ru › OpenJDK 21

Класс 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.

Некоторые браузеры разделяют апплеты в разных кодовых базах на отдельные контексты и устанавливают барьеры между этими контекстами. В такой ситуации будет по одному 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)
Добавляет 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 или если больше нет зарегистрированных KeyEventDispatchers.
final void downFocusCycle()
Перемещает фокус вниз на один цикл обхода фокуса от текущего владельца фокуса, только если текущий владелец фокуса является контейнером, являющимся корнем цикла фокуса.
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()
Фокусирует 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()
Возвращает массив всех слушателей изменения свойств, зарегистрированных в этом KeyboardFocusManager.
PropertyChangeListener[] getPropertyChangeListeners(String propertyName)
Возвращает массив всех PropertyChangeListener для указанного свойства.
VetoableChangeListener[] getVetoableChangeListeners()
Возвращает массив всех слушателей изменения вето-свойств, зарегистрированных в этом KeyboardFocusManager.
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)
Удаляет 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)
Перемещает фокус на один цикл обхода фокуса вверх.

Методы, объявленные в классе 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) throws SecurityException
Устанавливает текущий экземпляр KeyboardFocusManager для контекста вызывающей потока. Если указано значение null, текущий KeyboardFocusManager заменяется новым экземпляром DefaultKeyboardFocusManager.

Если установлен SecurityManager, вызывающий поток должен иметь разрешение AWTPermission "replaceKeyboardFocusManager" для замены текущего KeyboardFocusManager. Если этого разрешения нет, этот метод выбросит SecurityException, и текущий KeyboardFocusManager не изменится.

Параметры:
newManager - новый KeyboardFocusManager для контекста текущего потока
Исключения:
SecurityException - если вызывающий поток не имеет разрешения на замену текущего KeyboardFocusManager
См. также:
  • getCurrentKeyboardFocusManager()
  • DefaultKeyboardFocusManager

getFocusOwner

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

getGlobalFocusOwner

protected Component getGlobalFocusOwner() throws SecurityException
Возвращает владельца фокуса, даже если вызывающий поток находится в другом контексте, чем владелец фокуса. Владелец фокуса определяется как Component в приложении, который обычно получает все KeyEvents, сгенерированные пользователем. KeyEvents, которые соответствуют клавишам перехода в фокусе владельца фокуса, не будут доставлены, если клавиши перехода в фокусе включены для владельца фокуса. Кроме того, KeyEventDispatchers могут перенаправлять или потреблять KeyEvents, прежде чем они достигнут владельца фокуса.

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

Возвращает:
владелец фокуса
Исключения:
SecurityException - если этот KeyboardFocusManager не является текущим KeyboardFocusManager для контекста вызывающего потока и если вызывающий поток не имеет разрешения "replaceKeyboardFocusManager"
См. также:
  • getFocusOwner()
  • setGlobalFocusOwner(java.awt.Component)

setGlobalFocusOwner

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

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

Параметры:
focusOwner - владелец фокуса
Исключения:
SecurityException - если этот KeyboardFocusManager не является текущим KeyboardFocusManager для контекста вызывающего потока и если вызывающий поток не имеет разрешения "replaceKeyboardFocusManager"
См. также:
  • getFocusOwner()
  • getGlobalFocusOwner()
  • Component.requestFocus()
  • Component.requestFocusInWindow()
  • Component.isFocusable()

clearFocusOwner

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

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

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

clearGlobalFocusOwner

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

Если установлен SecurityManager, вызывающий поток должен иметь разрешение "replaceKeyboardFocusManager" AWTPermission. Если этого разрешения нет, этот метод выбросит SecurityException, и текущий владелец фокуса не будет очищен.

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

Исключения:
SecurityException - если вызывающий поток не имеет разрешения "replaceKeyboardFocusManager"
См. также:
  • clearFocusOwner()
  • Component.requestFocus()
  • FocusEvent.FOCUS_LOST

getPermanentFocusOwner

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

getGlobalPermanentFocusOwner

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

setGlobalPermanentFocusOwner

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

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

Параметры:
permanentFocusOwner - владелец постоянного фокуса
Выбрасывает:
SecurityException - если этот KeyboardFocusManager не является текущим KeyboardFocusManager для контекста вызывающей нити и если вызывающая нить не имеет разрешения "replaceKeyboardFocusManager"
См. также:
  • getPermanentFocusOwner()
  • getGlobalPermanentFocusOwner()
  • Component.requestFocus()
  • Component.requestFocusInWindow()
  • Component.isFocusable()

getFocusedWindow

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

getGlobalFocusedWindow

protected Window getGlobalFocusedWindow() throws SecurityException
Возвращает окно с фокусом, даже если вызывающая нить находится в другом контексте, чем окно с фокусом. Окно с фокусом - это окно, которое содержит или является владельцем владельца фокуса.
Возвращает:
окно с фокусом
Выбрасывает:
SecurityException - если этот KeyboardFocusManager не является текущим KeyboardFocusManager для контекста вызывающей нити и если вызывающая нить не имеет разрешения "replaceKeyboardFocusManager"
См. также:
  • getFocusedWindow()
  • setGlobalFocusedWindow(java.awt.Window)

setGlobalFocusedWindow

protected void setGlobalFocusedWindow(Window focusedWindow) throws SecurityException
Устанавливает окно с фокусом. Окно с фокусом - это окно, содержащее или являющееся владельцем владельца фокуса. Операция будет отменена, если указанное окно не является фокусируемым окном.

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

Параметры:
focusedWindow - окно с фокусом
Выбрасывает:
SecurityException - если этот KeyboardFocusManager не является текущим KeyboardFocusManager для контекста вызывающей нити и если вызывающая нить не имеет разрешения "replaceKeyboardFocusManager"
См. также:
  • 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() throws SecurityException
Возвращает активное окно, даже если вызывающая нить находится в другом контексте, чем активное окно. Активным окном может быть только Frame или Dialog. Системное окно может обозначать активное окно или его дочерние элементы специальными элементами оформления, такими как выделенная строка заголовка. Активное окно всегда является либо окном с фокусом, либо первым Frame или Dialog, являющимся владельцем окна с фокусом.
Возвращает:
активное окно
Выбрасывает:
SecurityException - если этот KeyboardFocusManager не является текущим KeyboardFocusManager для контекста вызывающей нити и если вызывающая нить не имеет разрешения "replaceKeyboardFocusManager"
См. также:
  • getActiveWindow()
  • setGlobalActiveWindow(java.awt.Window)

setGlobalActiveWindow

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

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

Параметры:
activeWindow - активное окно
Выбрасывает:
SecurityException - если этот KeyboardFocusManager не является текущим KeyboardFocusManager для контекста вызывающей нити и если вызывающая нить не имеет разрешения "replaceKeyboardFocusManager"
См. также:
  • getActiveWindow()
  • getGlobalActiveWindow()
  • Component.requestFocus()
  • Component.requestFocusInWindow()

getDefaultFocusTraversalPolicy

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

Установить политику обхода фокуса по умолчанию

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

Установить клавиши обхода фокуса по умолчанию

public void setDefaultFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)
Устанавливает клавиши обхода фокуса по умолчанию для заданной операции обхода. Эта настройка клавиш обхода фокуса Set будет действовать для всех Window без явного определения собственной 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 - множество AWTKeyStroke для заданной операции
Исключения:
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, или если любая клавиша уже отображается на другую операцию обхода фокуса по умолчанию
См. также:
  • getDefaultFocusTraversalKeys(int)
  • Component.setFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>)
  • Component.getFocusTraversalKeys(int)

Получить клавиши обхода фокуса по умолчанию

public Set<AWTKeyStroke> getDefaultFocusTraversalKeys(int id)
Возвращает множество клавиш обхода фокуса по умолчанию для заданной операции обхода. Это множество клавиш обхода фокуса setDefaultFocusTraversalKeys будет действовать для всех окон, которые не имеют такого собственного множества явно определенного. Это множество также будет унаследовано рекурсивно любыми дочерними компонентами этих окон, которые не имеют такого множества явно определенного. (См. 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, java.util.Set<? extends java.awt.AWTKeyStroke>)
  • Component.setFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>)
  • Component.getFocusTraversalKeys(int)

Получить текущий корень цикла фокуса

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

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

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

Получить глобальный текущий корень цикла фокуса

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

Установить глобальный текущий корень цикла фокуса

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

Если установлен SecurityManager, вызывающая нить должна иметь разрешение "replaceKeyboardFocusManager" AWTPermission. Если это разрешение не предоставлено, этот метод выбросит SecurityException, и текущий корень цикла фокуса не изменится.

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

Параметры:
newFocusCycleRoot - новый корень цикла фокуса
Исключения:
SecurityException - если вызывающая нить не имеет разрешения "replaceKeyboardFocusManager"
См. также:
  • getCurrentFocusCycleRoot()
  • getGlobalCurrentFocusCycleRoot()

addPropertyChangeListener

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

removePropertyChangeListener

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

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

Parameters:
listener - удаляемый обработчик изменений свойств
See Also:
  • addPropertyChangeListener(java.beans.PropertyChangeListener)
  • getPropertyChangeListeners()
  • removePropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)

getPropertyChangeListeners

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

addPropertyChangeListener

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

removePropertyChangeListener

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

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

Parameters:
propertyName - допустимое имя свойства
listener - удаляемый обработчик изменений свойств
See Also:
  • addPropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)
  • getPropertyChangeListeners(java.lang.String)
  • removePropertyChangeListener(java.beans.PropertyChangeListener)

getPropertyChangeListeners

public PropertyChangeListener[] getPropertyChangeListeners(String propertyName)
Возвращает массив всех обработчиков изменений свойств, связанных с заданным свойством.
Parameters:
propertyName - имя свойства
Returns:
все обработчики изменений свойств, связанные с заданным свойством, или пустой массив, если такие обработчики не добавлены.
Since:
1.4
See Also:
  • 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 одинаковы.
Parameters:
propertyName - имя изменившегося свойства
oldValue - предыдущее значение свойства
newValue - новое значение свойства

addVetoableChangeListener

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

removeVetoableChangeListener

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

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

Parameters:
listener - удаляемый обработчик изменений вето
See Also:
  • addVetoableChangeListener(java.beans.VetoableChangeListener)
  • getVetoableChangeListeners()
  • removeVetoableChangeListener(java.lang.String,java.beans.VetoableChangeListener)

getVetoableChangeListeners

public VetoableChangeListener[] getVetoableChangeListeners()
Возвращает массив всех обработчиков изменений вето, зарегистрированных в этом менеджере управления фокусом.
Returns:
все обработчики изменений вето этого менеджера управления фокусом или пустой массив, если такие обработчики не зарегистрированы
Since:
1.4
See Also:
  • 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, исключение не выбрасывается и никаких действий не выполняется.
Parameters:
propertyName - одно из имён свойств, перечисленных выше
listener - добавляемый VetoableChangeListener
See Also:
  • addVetoableChangeListener(java.beans.VetoableChangeListener)
  • removeVetoableChangeListener(java.beans.VetoableChangeListener)
  • getVetoableChangeListeners()

removeVetoableChangeListener

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

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

Parameters:
propertyName - допустимое имя свойства
listener - удаляемый VetoableChangeListener
See Also:
  • addVetoableChangeListener(java.beans.VetoableChangeListener)
  • getVetoableChangeListeners()
  • removeVetoableChangeListener(java.beans.VetoableChangeListener)

getVetoableChangeListeners

public VetoableChangeListener[] getVetoableChangeListeners(String propertyName)
Возвращает массив всех VetoableChangeListeners, связанных с заданным свойством.
Parameters:
propertyName - имя свойства
Returns:
все VetoableChangeListeners, связанные с заданным свойством, или пустой массив, если такие слушатели не добавлены.
Since:
1.4
See Also:
  • 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 обработать события нажатия клавиш, сгенерированные пользователем, прежде чем окончательно обработать само событие KeyEvent. KeyEventDispatchers будут уведомлены в порядке, в котором они были добавлены. Уведомления прекратятся, как только один KeyEventDispatcher вернёт true из своего метода dispatchKeyEvent. Нет ограничений на общее количество добавляемых KeyEventDispatchers, а также на количество раз, когда можно добавить определённый экземпляр KeyEventDispatcher.

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

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

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

removeKeyEventDispatcher

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

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

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

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 Threading Issues для получения более подробной информации.

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

removeKeyEventPostProcessor

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

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

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

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

getKeyEventPostProcessors

protected List<KeyEventPostProcessor> getKeyEventPostProcessors()
Возвращает цепочку обработчиков событий KeyEvent для данного KeyboardFocusManager в виде списка. Список не будет содержать сам KeyboardFocusManager, если он не был явно добавлен с помощью вызова addKeyEventPostProcessor. Если обработчики KeyEvent не зарегистрированы, реализации могут вернуть null или список длиной 0. Код клиента не должен предполагать какой-либо конкретный вариант поведения, а также не должен предполагать, что поведение, однажды установленное, не изменится.
Возвращает:
возможно null или пустой список KeyEventPostProcessors
См. также:
  • 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 попытается обработать событие сам.
Параметры:
e - AWTEvent, который должен быть обработан
Возвращает:
true если этот метод обработает событие; false в противном случае
См. также:
  • 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 и клиентские обработчики KeyEvent должны вызывать redispatchEvent(target, e) вместо target.dispatchEvent(e) для обработки события.

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

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

dispatchKeyEvent

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

postProcessKeyEvent

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

processKeyEvent

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

enqueueKeyEvents

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

dequeueKeyEvents

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

discardKeyEvents

protected abstract void discardKeyEvents(Component comp)
Вызывается AWT, чтобы уведомить KeyboardFocusManager о том, что он должен отменить отложенную обработку KeyEvents. Все KeyEvents, которые были поставлены в очередь из-за одного или нескольких вызовов enqueueKeyEvents с тем же компонентом, должны быть удалены.
Параметры:
comp - компонент, указанный в одном или нескольких вызовах enqueueKeyEvents
См. также:
  • enqueueKeyEvents(long, java.awt.Component)
  • dequeueKeyEvents(long, java.awt.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 не является корнем цикла обхода фокуса, то операция обхода фокуса не выполняется.
Parameters:
aContainer - контейнер, являющийся основой для операции обхода фокуса

focusNextComponent

public final void focusNextComponent()
Фокусирует компонент после текущего владельца фокуса.

focusPreviousComponent

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

upFocusCycle

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

downFocusCycle

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

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

Spec-Zone.ru

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