Класс KeyboardFocusManager

Все реализованные интерфейсы:
KeyEventDispatcher, KeyEventPostProcessor
Непосредственные известные подклассы:
DefaultKeyboardFocusManager
public abstract class KeyboardFocusManager
extends Object
implements KeyEventDispatcher, KeyEventPostProcessor

Класс KeyboardFocusManager отвечает за управление активными и фокусированными окнами и текущим владельцем фокуса. Владелец фокуса определяется как компонент в приложении, который обычно получает все события KeyEvents, генерируемые пользователем. Фокусированное окно — это окно, которое содержит владелец фокуса. Только фрейм или диалоговое окно может быть активным окном. Системы окон могут обозначать активное окно или его дочерние элементы специальными элементами оформления, такими как выделенная строка заголовка. Активное окно всегда является либо фокусированным окном, либо первым фреймом или диалоговым окном, являющимся владельцем фокусированного окна.

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

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

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

С:
1.4
См. также:
Window, Frame, Dialog, FocusEvent, WindowEvent, KeyEvent

Поля

Модификатор и тип Поле Описание
static int BACKWARD_TRAVERSAL_KEYS

Идентификатор клавиш обратного перемещения по фокусу.

static int DOWN_CYCLE_TRAVERSAL_KEYS

Идентификатор клавиш циклического перемещения по фокусу вниз.

static int FORWARD_TRAVERSAL_KEYS

Идентификатор клавиш циклического перемещения по фокусу вперёд.

static int UP_CYCLE_TRAVERSAL_KEYS

Идентификатор клавиш циклического перемещения по фокусу вверх.

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

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

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

Методы

Модификатор и тип Метод Описание
void addKeyEventDispatcher​(KeyEventDispatcher dispatcher)

Добавляет обработчик событий KeyEvent в цепочку обработчиков KeyboardFocusManager.

void addKeyEventPostProcessor​(KeyEventPostProcessor processor)

Добавляет обработчик KeyEventPostProcessor в цепочку постобработчиков KeyboardFocusManager.

void addPropertyChangeListener​(PropertyChangeListener listener)

Добавляет слушателя PropertyChangeListener в список слушателей.

void addPropertyChangeListener​(String propertyName, PropertyChangeListener listener)

Добавляет слушателя PropertyChangeListener в список слушателей для определённого свойства.

void addVetoableChangeListener​(VetoableChangeListener listener)

Добавляет слушателя VetoableChangeListener в список слушателей.

void addVetoableChangeListener​(String propertyName, VetoableChangeListener listener)

Добавляет слушателя VetoableChangeListener в список слушателей для определённого свойства.

void clearFocusOwner()

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

void clearGlobalFocusOwner()

Очищает глобального владельца фокуса как на уровне Java, так и на уровне нативного кода.

protected abstract void dequeueKeyEvents​(long after, Component untilFocused)

Вызывается AWT для уведомления KeyboardFocusManager о том, что он должен отменить отложенную обработку событий KeyEvent.

protected abstract void discardKeyEvents​(Component comp)

Вызывается AWT для уведомления KeyboardFocusManager о том, что он должен отменить отложенную обработку событий KeyEvent.

abstract boolean dispatchEvent​(AWTEvent e)

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

abstract boolean dispatchKeyEvent​(KeyEvent e)

Обычно этот метод вызывается dispatchEvent, если ни один другой KeyEventDispatcher в цепочке обработчиков не обработает KeyEvent или если другие KeyEventDispatchers не зарегистрированы.

void downFocusCycle()

Перемещает фокус вниз на один цикл обхода фокуса от текущего владельца фокуса, только если текущий владелец фокуса является контейнером, который является корнем цикла фокуса.

abstract void downFocusCycle​(Container aContainer)

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

protected abstract void enqueueKeyEvents​(long after, Component untilFocused)

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

protected void firePropertyChange​(String propertyName, Object oldValue, Object newValue)

Вызывает событие PropertyChangeEvent в ответ на изменение связанного свойства.

protected void fireVetoableChange​(String propertyName, Object oldValue, Object newValue)

Вызывает событие PropertyChangeEvent в ответ на изменение ветируемого свойства.

void focusNextComponent()

Фокусирует компонент после текущего владельца фокуса.

abstract void focusNextComponent​(Component aComponent)

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

void focusPreviousComponent()

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

abstract void focusPreviousComponent​(Component aComponent)

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

Window getActiveWindow()

Возвращает активное окно, если активное окно находится в том же контексте, что и вызывающая нить.

Container getCurrentFocusCycleRoot()

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

static KeyboardFocusManager getCurrentKeyboardFocusManager()

Возвращает текущий экземпляр KeyboardFocusManager для контекста вызывающей нити.

Set<AWTKeyStroke> getDefaultFocusTraversalKeys​(int id)

Возвращает набор стандартных клавиш перехода фокуса для заданной операции перехода.

FocusTraversalPolicy getDefaultFocusTraversalPolicy()

Возвращает стандартную FocusTraversalPolicy.

Window getFocusedWindow()

Возвращает окно с фокусом, если окно с фокусом находится в том же контексте, что и вызывающая нить.

Component getFocusOwner()

Возвращает владельца фокуса, если владелец фокуса находится в том же контексте, что и вызывающая нить.

protected Window getGlobalActiveWindow()

Возвращает активное окно, даже если вызывающая нить находится в другом контексте, чем активное окно.

protected Container getGlobalCurrentFocusCycleRoot()

Возвращает текущий корень цикла фокуса, даже если вызывающая нить находится в другом контексте, чем текущий корень цикла фокуса.

protected Window getGlobalFocusedWindow()

Возвращает окно с фокусом, даже если вызывающая нить находится в другом контексте, чем окно с фокусом.

protected Component getGlobalFocusOwner()

Возвращает владельца фокуса, даже если вызывающая нить находится в другом контексте, чем владелец фокуса.

protected Component getGlobalPermanentFocusOwner()

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

protected List<KeyEventDispatcher> getKeyEventDispatchers()

Возвращает цепочку KeyEventDispatcher этого KeyboardFocusManager в виде списка.

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.

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)

Устанавливает постоянный владелец фокуса.

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()

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

Установить глобально активное окно

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()

Получить активное окно

public Window getActiveWindow()

Возвращает активное окно, если оно находится в том же контексте, что и вызывающая нить. Активным окном может быть только окно типа Frame или Dialog. Системное окно может обозначать активное окно или его дочерние элементы специальными декорациями, такими как выделенная строка заголовка. Активное окно всегда является либо активным окном, либо первой формой или диалоговым окном, являющимся владельцем активного окна.

Возвращает:
активное окно или null, если активное окно не является частью контекста вызывающей нити
См. также:
getGlobalActiveWindow(), setGlobalActiveWindow(java.awt.Window)

Получить глобально активное окно

protected Window getGlobalActiveWindow()
                                throws SecurityException

Возвращает активное окно, даже если вызывающая нить находится в другом контексте, чем активное окно. Активным окном может быть только окно типа Frame или Dialog. Системное окно может обозначать активное окно или его дочерние элементы специальными декорациями, такими как выделенная строка заголовка. Активное окно всегда является либо активным окном, либо первой формой или диалоговым окном, являющимся владельцем активного окна.

Возвращает:
активное окно
Выбрасывает:
SecurityException - если этот KeyboardFocusManager не является текущим KeyboardFocusManager для контекста вызывающей нити и если вызывающая нить не имеет разрешения "replaceKeyboardFocusManager"
См. также:
getActiveWindow(), setGlobalActiveWindow(java.awt.Window)

Установить глобально активное окно

protected void setGlobalActiveWindow(Window activeWindow)
                              throws SecurityException

Устанавливает активное окно. Активным окном может быть только окно типа Frame или Dialog. Системное окно может обозначать активное окно или его дочерние элементы специальными декорациями, такими как выделенная строка заголовка. Активное окно всегда является либо активным окном, либо первой формой или диалоговым окном, являющимся владельцем активного окна.

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

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

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

public FocusTraversalPolicy getDefaultFocusTraversalPolicy()

Возвращает политику прохода фокуса по умолчанию. При создании верхнеуровневых компонентов это значение используется для инициализации собственной политики прохода фокуса явным вызовом Container.setFocusTraversalPolicy.

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

Параметры:
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)

getCurrentFocusCycleRoot

public Container getCurrentFocusCycleRoot()

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

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

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

getGlobalCurrentFocusCycleRoot

protected Container getGlobalCurrentFocusCycleRoot()
                                            throws SecurityException

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

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

setGlobalCurrentFocusCycleRoot

public void setGlobalCurrentFocusCycleRoot(Container newFocusCycleRoot)
                                    throws SecurityException

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

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

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

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

addPropertyChangeListener

public void addPropertyChangeListener(PropertyChangeListener listener)

Добавляет PropertyChangeListener в список слушателей. Слушатель регистрируется для всех связанных свойств этого класса, включая следующие:

  • является ли KeyboardFocusManager в настоящее время управляет фокусом для этого приложения или апплета в контексте браузера ("managingFocus")
  • владелец фокуса ("focusOwner")
  • постоянный владелец фокуса ("permanentFocusOwner")
  • отображаемое окно ("focusedWindow")
  • активное окно ("activeWindow")
  • политика перехода фокуса по умолчанию ("defaultFocusTraversalPolicy")
  • множество по умолчанию FORWARD_TRAVERSAL_KEYS ("forwardDefaultFocusTraversalKeys")
  • множество по умолчанию BACKWARD_TRAVERSAL_KEYS ("backwardDefaultFocusTraversalKeys")
  • множество по умолчанию UP_CYCLE_TRAVERSAL_KEYS ("upCycleDefaultFocusTraversalKeys")
  • множество по умолчанию DOWN_CYCLE_TRAVERSAL_KEYS ("downCycleDefaultFocusTraversalKeys")
  • текущий корень цикла фокуса ("currentFocusCycleRoot")
Если listener равен null, исключение не выбрасывается, и никаких действий не выполняется.

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

removePropertyChangeListener

public void removePropertyChangeListener(PropertyChangeListener listener)

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

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

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

getPropertyChangeListeners

public PropertyChangeListener[] getPropertyChangeListeners()

Возвращает массив всех слушателей изменений свойств, зарегистрированных в этом менеджере фокуса клавиатуры.

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

addPropertyChangeListener

public void addPropertyChangeListener(String propertyName,
                                      PropertyChangeListener listener)

Добавляет PropertyChangeListener в список слушателей для конкретного свойства. Указанное свойство может быть определено пользователем или одним из следующих:

  • является ли KeyboardFocusManager в настоящее время управляет фокусом для этого приложения или апплета в контексте браузера ("managingFocus")
  • владелец фокуса ("focusOwner")
  • постоянный владелец фокуса ("permanentFocusOwner")
  • отображаемое окно ("focusedWindow")
  • активное окно ("activeWindow")
  • политика перехода фокуса по умолчанию ("defaultFocusTraversalPolicy")
  • множество по умолчанию FORWARD_TRAVERSAL_KEYS ("forwardDefaultFocusTraversalKeys")
  • множество по умолчанию BACKWARD_TRAVERSAL_KEYS ("backwardDefaultFocusTraversalKeys")
  • множество по умолчанию UP_CYCLE_TRAVERSAL_KEYS ("upCycleDefaultFocusTraversalKeys")
  • множество по умолчанию DOWN_CYCLE_TRAVERSAL_KEYS ("downCycleDefaultFocusTraversalKeys")
  • текущий корень цикла фокуса ("currentFocusCycleRoot")
Если listener равен null, исключение не выбрасывается, и никаких действий не выполняется.

Параметры:
propertyName - одно из названий свойств, перечисленных выше
listener - добавляемый PropertyChangeListener
См. также:
addPropertyChangeListener(java.beans.PropertyChangeListener), removePropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener), getPropertyChangeListeners(java.lang.String)

removePropertyChangeListener

public void removePropertyChangeListener(String propertyName,
                                         PropertyChangeListener listener)

Удаляет PropertyChangeListener из списка слушателей для определенного свойства. Этот метод должен использоваться для удаления PropertyChangeListeners, которые были зарегистрированы для конкретного связанного свойства.

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

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

getPropertyChangeListeners

public PropertyChangeListener[] getPropertyChangeListeners(String propertyName)

Возвращает массив всех слушателей изменений свойств, связанных с указанным свойством.

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

firePropertyChange

protected void firePropertyChange(String propertyName,
                                  Object oldValue,
                                  Object newValue)

Вызывает PropertyChangeEvent в ответ на изменение связанного свойства. Событие будет доставлено всем зарегистрированным PropertyChangeListeners. Событие не будет доставлено, если oldValue и newValue одинаковы.

Параметры:
propertyName - имя изменившегося свойства
oldValue - предыдущее значение свойства
newValue - новое значение свойства

addVetoableChangeListener

public void addVetoableChangeListener(VetoableChangeListener listener)

Добавляет обработчик изменения свойств VetoableChangeListener в список слушателей. Слушатель регистрируется для всех свойств, изменяемых по согласованию (vetoable properties), этого класса, включая следующие:

  • владелец фокуса ("focusOwner")
  • постоянный владелец фокуса ("permanentFocusOwner")
  • фокусированное окно ("focusedWindow")
  • активное окно ("activeWindow")
Если listener равен null, исключение не генерируется и никаких действий не выполняется.

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

removeVetoableChangeListener

public void removeVetoableChangeListener(VetoableChangeListener listener)

Удаляет обработчик изменения свойств VetoableChangeListener из списка слушателей. Этот метод следует использовать для удаления обработчиков VetoableChangeListeners, зарегистрированных для всех свойств, изменяемых по согласованию (vetoable properties), этого класса.

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

Parameters:
listener - удаляемый обработчик изменения свойств VetoableChangeListener
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)

Возвращает массив всех обработчиков изменения свойств, связанных с заданным свойством.

Parameters:
propertyName - имя свойства
Returns:
все обработчики изменения свойств, связанные с заданным свойством, или пустой массив, если такие обработчики не добавлены.
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 в ответ на изменение свойства, изменяемого по согласованию (vetoable property). Событие будет передано всем зарегистрированным обработчикам 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, сгенерированные пользователем, прежде чем окончательно обработать само событие KeyEvent. KeyEventDispatchers будут уведомлены в том порядке, в котором они были добавлены. Уведомления прекратятся, как только один KeyEventDispatcher вернёт значение true из своего метода dispatchKeyEvent. Количество добавляемых KeyEventDispatchers не ограничено, как и количество раз, когда может быть добавлен экземпляр конкретного KeyEventDispatcher.

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

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

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

removeKeyEventDispatcher

public void removeKeyEventDispatcher(KeyEventDispatcher dispatcher)

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

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

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

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

getKeyEventDispatchers

protected List<KeyEventDispatcher> getKeyEventDispatchers()

Возвращает цепочку KeyEventDispatcher этого KeyboardFocusManager в виде списка. Список не будет включать этот KeyboardFocusManager, если он не был явно перерегистрирован с помощью вызова addKeyEventDispatcher. Если другие KeyEventDispatchers не зарегистрированы, реализации могут вернуть null или список длиной 0. Код клиента не должен предполагать какой-либо конкретный вариант поведения, так же, как и то, что установленное поведение не изменится.

Returns:
возможно null или пустой список KeyEventDispatchers
See Also:
addKeyEventDispatcher(java.awt.KeyEventDispatcher), removeKeyEventDispatcher(java.awt.KeyEventDispatcher)

addKeyEventPostProcessor

public void addKeyEventPostProcessor(KeyEventPostProcessor processor)

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

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

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

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

removeKeyEventPostProcessor

public void removeKeyEventPostProcessor(KeyEventPostProcessor processor)

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

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

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

Параметры:
processor - KeyEventPostProcessor, который необходимо удалить из цепочки обработчиков
См. также:
addKeyEventPostProcessor(java.awt.KeyEventPostProcessor)

getKeyEventPostProcessors

protected List<KeyEventPostProcessor> getKeyEventPostProcessors()

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

Параметры:
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 не является корнем цикла перехода фокуса, то операция перехода фокуса не выполняется.

Параметры:
aContainer - Контейнер, являющийся основой для операции перемещения фокуса

focusNextComponent

public final void focusNextComponent()

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

focusPreviousComponent

public final void focusPreviousComponent()

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

upFocusCycle

public final void upFocusCycle()

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

downFocusCycle

public final void downFocusCycle()

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

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

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