Spec-Zone.ru › OpenJDK 17

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

Дополнительную информацию можно найти в Руководстве по использованию подсистемы фокуса, разделе The Java Tutorial, и в Спецификации фокуса.

С:
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, так и на уровне native, если владелец фокуса существует и находится в том же контексте, что и вызывающая нить; в противном случае метод возвращается бездействием.
void clearGlobalFocusOwner()
Очищает глобального владельца фокуса как на уровне Java, так и на уровне native.
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()
Возвращает массив всех слушателей изменений свойств, зарегистрированных в этом диспетчере фокуса клавиатуры.
PropertyChangeListener[] getPropertyChangeListeners(String propertyName)
Возвращает массив всех PropertyChangeListener , связанных с заданным свойством.
VetoableChangeListener[] getVetoableChangeListeners()
Возвращает массив всех слушателей изменений вето, зарегистрированных в этом диспетчере фокуса клавиатуры.
VetoableChangeListener[] getVetoableChangeListeners(String propertyName)
Возвращает массив всех VetoableChangeListener , связанных с заданным свойством.
abstract boolean postProcessKeyEvent(KeyEvent e)
Этот метод будет вызван dispatchKeyEvent.
abstract void processKeyEvent(Component focusedComponent, KeyEvent e)
Инициализирует операцию перемещения фокуса только в том случае, если KeyEvent представляет собой клавишу перемещения фокуса для указанного focusedComponent.
final void redispatchEvent(Component target, AWTEvent e)
Перевыполняет AWTEvent таким образом, чтобы диспетчер событий AWT не запрашивал повторно, чтобы KeyboardFocusManager или любой установленный KeyEventDispatcher повторно вызывали событие.
void removeKeyEventDispatcher(KeyEventDispatcher dispatcher)
Удаляет KeyEventDispatcher, который был ранее добавлен в цепочку диспетчеризации KeyboardFocusManager.
void removeKeyEventPostProcessor(KeyEventPostProcessor processor)
Удаляет ранее добавленный KeyEventPostProcessor из цепочки постобработки KeyboardFocusManager.
void removePropertyChangeListener(PropertyChangeListener listener)
Удаляет PropertyChangeListener из списка слушателей.
void removePropertyChangeListener(String propertyName, PropertyChangeListener listener)
Удаляет PropertyChangeListener из списка слушателей для определённого свойства.
void removeVetoableChangeListener(VetoableChangeListener listener)
Удаляет VetoableChangeListener из списка слушателей.
void removeVetoableChangeListener(String propertyName, VetoableChangeListener listener)
Удаляет VetoableChangeListener из списка слушателей для определённого свойства.
static void setCurrentKeyboardFocusManager(KeyboardFocusManager newManager)
Устанавливает текущий экземпляр KeyboardFocusManager для контекста вызывающей нити.
void setDefaultFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)
Устанавливает стандартные клавиши перемещения фокуса для заданной операции перемещения.
void setDefaultFocusTraversalPolicy(FocusTraversalPolicy defaultPolicy)
Устанавливает стандартную FocusTraversalPolicy.
protected void setGlobalActiveWindow(Window activeWindow)
Устанавливает активное окно.
void setGlobalCurrentFocusCycleRoot(Container newFocusCycleRoot)
Устанавливает текущий корень цикла фокуса.
protected void setGlobalFocusedWindow(Window focusedWindow)
Устанавливает окно с фокусом.
protected void setGlobalFocusOwner(Component focusOwner)
Устанавливает владельца фокуса.
protected void setGlobalPermanentFocusOwner(Component permanentFocusOwner)
Устанавливает постоянного владельца фокуса.
final void upFocusCycle()
Перемещает фокус на одну позицию вверх по циклу прохождения фокуса от текущего владельца фокуса.
abstract void upFocusCycle(Component aComponent)
Перемещает фокус на одну позицию вверх по циклу прохождения фокуса.

Методы, объявленные в классе 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()
Возвращает владельца фокуса, если владелец фокуса находится в том же контексте, что и вызывающая нить. Владелец фокуса определяется как компонент в приложении, который обычно получает все KeyEvents, сгенерированные пользователем. KeyEvents, соответствующие клавишам перехода фокуса владельца фокуса, не будут переданы, если для владельца фокуса включены клавиши перехода фокуса. Кроме того, KeyEventDispatchers могут перенаправлять или потреблять KeyEvents, прежде чем они достигнут владельца фокуса.
Возвращает:
владелец фокуса или null, если владелец фокуса не является членом контекста вызывающей нити
См. также:
  • getGlobalFocusOwner()
  • setGlobalFocusOwner(java.awt.Component)

getGlobalFocusOwner

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

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

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

setGlobalFocusOwner

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

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

Параметры:
focusOwner - владелец фокуса
Исключение:
SecurityException - если этот KeyboardFocusManager не является текущим KeyboardFocusManager для контекста вызывающей нити и если у вызывающей нити нет разрешения "replaceKeyboardFocusManager"
См. также:
  • 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() throws SecurityException
Очищает глобального владельца фокуса на уровне Java и нативном уровне. Если владелец фокуса существует, этот компонент получит постоянное событие FOCUS_LOST. После завершения этой операции нативная система оконного интерфейса отбросит все сгенерированные пользователем KeyEvents, пока пользователь не выберет новый компонент для получения фокуса или компонент не получит фокус явно с помощью вызова requestFocus(). Эта операция не изменяет фокусированные или активные окна.

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

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

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

getPermanentFocusOwner

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

getGlobalPermanentFocusOwner

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

setGlobalPermanentFocusOwner

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

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

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

getFocusedWindow

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

getGlobalFocusedWindow

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

setGlobalFocusedWindow

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

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

Parameters:
focusedWindow - окно с фокусом
Throws:
SecurityException - если этот KeyboardFocusManager не является текущим KeyboardFocusManager для контекста вызывающей нити и если вызывающая нить не имеет разрешения "replaceKeyboardFocusManager"
See Also:
  • getFocusedWindow()
  • getGlobalFocusedWindow()
  • Component.requestFocus()
  • Component.requestFocusInWindow()
  • Window.isFocusableWindow()

getActiveWindow

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

getGlobalActiveWindow

protected Window getGlobalActiveWindow() throws SecurityException
Возвращает активное окно, даже если вызывающая нить находится в другом контексте, чем активное окно. Активным окном может быть только Frame или Dialog. Система отображения может выделять активное окно или его дочерние элементы специальными элементами оформления, например, выделенной строкой заголовка. Активное окно всегда является либо окном с фокусом, либо первым Frame или Dialog, являющимся владельцем окна с фокусом.
Returns:
активное окно
Throws:
SecurityException - если этот KeyboardFocusManager не является текущим KeyboardFocusManager для контекста вызывающей нити и если вызывающая нить не имеет разрешения "replaceKeyboardFocusManager"
See Also:
  • getActiveWindow()
  • setGlobalActiveWindow(java.awt.Window)

setGlobalActiveWindow

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

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

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

getDefaultFocusTraversalPolicy

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

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

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 также будет наследуется рекурсивно любым дочерним 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.

Параметры:
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 пусто, или если 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
Возвращает:
множество 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()
Возвращает текущий корень цикла фокуса, если текущий корень цикла фокуса находится в том же контексте, что и вызывающая нить. Если владелец фокуса сам является корнем цикла фокуса, то может быть неоднозначно, какие компоненты представляют собой следующий и предыдущий компоненты для получения фокуса во время нормального обхода фокуса. В этом случае текущий корень цикла фокуса используется для различения возможностей.

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

Возвращает:
текущий корень цикла фокуса или 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, и текущий корень цикла фокуса не будет изменен.

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

Параметры:
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")
Если обработчик равен 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, зарегистрированных для конкретного связанного свойства.

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

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

getVetoableChangeListeners

public VetoableChangeListener[] getVetoableChangeListeners(String propertyName)
Возвращает массив всех обработчиков VetoableChangeListener для указанного свойства.
Parameters:
propertyName - имя свойства
Returns:
все обработчики VetoableChangeListener для указанного свойства или пустой массив, если такие обработчики не добавлены.
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. Код приложения не должен делать предположений об одном поведении в ущерб другому, ни о том, что поведение, однажды установленное, не изменится.
Возвращает:
возможно, нулевой или пустой список 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 и определенные пользователем KeyEventDispatchers должны вызывать 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 до тех пор, пока указанный Component не станет владельцем фокуса. Если клиентский код запрашивает изменение фокуса, и AWT определяет, что этот запрос может быть удовлетворен системным окном, то AWT вызовет этот метод. KeyboardFocusManager отвечает за отложенную обработку KeyEvents с отметками времени, более поздними, чем указанная отметка времени, до тех пор, пока указанный Component не получит событие FOCUS_GAINED, или AWT отменит запрос отсрочки, вызвав dequeueKeyEvents или discardKeyEvents.
Параметры:
after - отметка времени текущего события или текущее системное время, если текущее событие не имеет отметки времени или AWT не может определить, какое событие обрабатывается в данный момент
untilFocused - Компонент, который должен получить событие FOCUS_GAINED перед любыми ожидающими KeyEvents
См. также:
  • dequeueKeyEvents(long, java.awt.Component)
  • discardKeyEvents(java.awt.Component)

dequeueKeyEvents

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

discardKeyEvents

protected abstract void discardKeyEvents(Component comp)
Вызывается AWT для уведомления KeyboardFocusManager о необходимости отмены отложенной обработки KeyEvents. Все KeyEvents, которые были помещены в очередь из-за одного или нескольких вызовов enqueueKeyEvents с тем же Component, должны быть отброшены.
Параметры:
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, 2021, 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/17/docs/api/java.desktop/java/awt/KeyboardFocusManager.html

Spec-Zone.ru

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