Spec-Zone.ru › OpenJDK 8

Класс 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, связанных с фокусом, и KeyEvent.

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

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

С момента:
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(String propertyName, VetoableChangeListener listener)

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

void addVetoableChangeListener(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 не зарегистрированы.

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 в ответ на изменение вето-свойств.

void focusNextComponent()

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

abstract void focusNextComponent(Component aComponent)

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

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.

void redispatchEvent(Component target, AWTEvent e)

Повторно отправляет AWTEvent таким образом, что диспетчер событий AWT не будет рекурсивно запрашивать KeyboardFocusManager или любые установленные KeyEventDispatchers повторно отправить событие.

void removeKeyEventDispatcher(KeyEventDispatcher dispatcher)

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

void removeKeyEventPostProcessor(KeyEventPostProcessor processor)

Удаляет ранее добавленный KeyEventPostProcessor из цепочки постобработки этого KeyboardFocusManager.

void removePropertyChangeListener(PropertyChangeListener listener)

Удаляет PropertyChangeListener из списка слушателей.

void removePropertyChangeListener(String propertyName, PropertyChangeListener listener)

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

void removeVetoableChangeListener(String propertyName, VetoableChangeListener listener)

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

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

setGlobalFocusedWindow

protected void setGlobalFocusedWindow(Window focusedWindow)
                               throws SecurityException

Устанавливает окно с фокусом. Окно с фокусом — это окно, которое содержит или является владельцем владельца фокуса. Операция будет отменена, если указанное окно не является фокусируемым окном.

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

Параметры:
focusedWindow - окно с фокусом
Исключение:
SecurityException - если этот KeyboardFocusManager не является текущим KeyboardFocusManager для контекста вызывающей нити, и если вызывающая нить не имеет разрешения "replaceKeyboardFocusManager"
См. также:
getFocusedWindow(), getGlobalFocusedWindow(), Component.requestFocus(), Component.requestFocusInWindow(), Window.isFocusableWindow()

getActiveWindow

public Window getActiveWindow()

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

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

getGlobalActiveWindow

protected Window getGlobalActiveWindow()
                                throws SecurityException

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

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

setGlobalActiveWindow

protected void setGlobalActiveWindow(Window activeWindow)
                              throws SecurityException

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

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

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

getDefaultFocusTraversalPolicy

public FocusTraversalPolicy getDefaultFocusTraversalPolicy()

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

Возвращает:
политику FocusTraversalPolicy по умолчанию. null никогда не возвращается.
См. также:
setDefaultFocusTraversalPolicy(java.awt.FocusTraversalPolicy), Container.setFocusTraversalPolicy(java.awt.FocusTraversalPolicy), Container.getFocusTraversalPolicy()

setDefaultFocusTraversalPolicy

public void setDefaultFocusTraversalPolicy(FocusTraversalPolicy defaultPolicy)

Устанавливает политику FocusTraversalPolicy по умолчанию. Компоненты верхнего уровня используют это значение при создании для инициализации собственной политики перемещения фокуса явным вызовом Container.setFocusTraversalPolicy. Примечание: этот вызов не влияет на уже созданные компоненты, так как у них политика уже инициализирована. Только новые компоненты будут использовать эту политику в качестве политики по умолчанию.

Параметры:
defaultPolicy - новая политика FocusTraversalPolicy по умолчанию
Исключение:
IllegalArgumentException - если defaultPolicy равно null
См. также:
getDefaultFocusTraversalPolicy(), Container.setFocusTraversalPolicy(java.awt.FocusTraversalPolicy), Container.getFocusTraversalPolicy()

setDefaultFocusTraversalKeys

public void setDefaultFocusTraversalKeys(int id,
                                         Set<? extends AWTKeyStroke> keystrokes)

Устанавливает стандартные клавиши перехода фокуса для заданной операции перехода. Эта клавиша перехода Set будет действовать для всех Window без явно заданного собственного значения. Это значение также будет унаследовано рекурсивно любым дочерним 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, клиентский код может указать, на каком из двух конкретных KeyEvents, KEY_PRESSED или KEY_RELEASED, произойдёт операция перехода фокуса. Однако независимо от указанного KeyEvent, все KeyEvents, связанные с клавишей перехода фокуса, включая связанное событие 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 - набор AWTKeyStrokes для указанной операции
Исключения:
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)

getDefaultFocusTraversalKeys

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 для указанной операции; набор будет неизменяемым и может быть пустым; 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()

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

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

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

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

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

addPropertyChangeListener

public void addPropertyChangeListener(PropertyChangeListener listener)

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

  • Управление фокусом KeyboardFocusManager для текущего контекста приложения или апплета ("managingFocus")
  • Владелец фокуса ("focusOwner")
  • Постоянный владелец фокуса ("permanentFocusOwner")
  • Активное окно ("focusedWindow")
  • Активное окно ("activeWindow")
  • Политика перехода фокуса по умолчанию ("defaultFocusTraversalPolicy")
  • Набор стандартных клавиш перехода вперёд ("forwardDefaultFocusTraversalKeys")
  • Набор стандартных клавиш перехода назад ("backwardDefaultFocusTraversalKeys")
  • Набор стандартных клавиш перехода вверх по циклу ("upCycleDefaultFocusTraversalKeys")
  • Набор стандартных клавиш перехода вниз по циклу ("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")
  • набор клавиш по умолчанию для перехода вперед ("forwardDefaultFocusTraversalKeys")
  • набор клавиш по умолчанию для перехода назад ("backwardDefaultFocusTraversalKeys")
  • набор клавиш по умолчанию для перехода по циклу вверх ("upCycleDefaultFocusTraversalKeys")
  • набор клавиш по умолчанию для перехода по циклу вниз ("downCycleDefaultFocusTraversalKeys")
  • текущий корень цикла фокуса ("currentFocusCycleRoot")
Если listener равен null, исключение не выбрасывается, и никаких действий не выполняется.

Parameters:
propertyName - одно из имен свойств, перечисленных выше
listener - обработчик PropertyChangeListener, который нужно добавить
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)

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

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

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

getPropertyChangeListeners

public PropertyChangeListener[] getPropertyChangeListeners(String propertyName)

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

Returns:
все обработчики PropertyChangeListener , связанные с указанным свойством, или пустой массив, если такие обработчики не добавлены.
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)

Добавляет обработчик VetoableChangeListener в список слушателей. Обработчик регистрируется для всех вето-свойств этого класса, включая следующие:

  • владелец фокуса ("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, которые были зарегистрированы для всех вето-свойств этого класса.

Если 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)

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

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 обработать KeyEvents, сгенерированные пользователем, прежде чем непосредственно обработать KeyEvent. KeyEventDispatchers будут уведомлены в порядке их добавления. Уведомления прекратятся, как только один KeyEventDispatcher вернет true из своего метода dispatchKeyEvent. Нет ограничений на общее количество добавляемых KeyEventDispatchers или на количество раз, когда конкретный экземпляр KeyEventDispatcher может быть добавлен.

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

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

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

removeKeyEventDispatcher

public void removeKeyEventDispatcher(KeyEventDispatcher dispatcher)

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

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

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

Параметры:
dispatcher — обработчик KeyEvent для удаления из цепочки диспетчеров
См. также:
addKeyEventDispatcher(java.awt.KeyEventDispatcher)

getKeyEventDispatchers

protected List<KeyEventDispatcher> getKeyEventDispatchers()

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

Возвращает:
возможно null или пустой список обработчиков KeyEvent
См. также:
addKeyEventDispatcher(java.awt.KeyEventDispatcher), removeKeyEventDispatcher(java.awt.KeyEventDispatcher)

addKeyEventPostProcessor

public void addKeyEventPostProcessor(KeyEventPostProcessor processor)

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

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

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

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

removeKeyEventPostProcessor

public void removeKeyEventPostProcessor(KeyEventPostProcessor processor)

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

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

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

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

getKeyEventPostProcessors

protected List<KeyEventPostProcessor> getKeyEventPostProcessors()

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

Возвращает:
возможно null или пустой список обработчиков KeyEventPostProcessor
См. также:
addKeyEventPostProcessor(java.awt.KeyEventPostProcessor), removeKeyEventPostProcessor(java.awt.KeyEventPostProcessor)

dispatchEvent

public abstract boolean dispatchEvent(AWTEvent e)

Этот метод вызывается диспетчером событий AWT, запрашивая, чтобы текущий KeyboardFocusManager обработал указанное событие от его имени. Ожидается, что все KeyboardFocusManager будут обрабатывать все FocusEvent, все WindowEvent, связанные с фокусом, и все KeyEvent. Эти события должны быть обработаны на основе понятия KeyboardFocusManager о владельце фокуса и активных окнах, иногда переопределяя источник указанного AWTEvent. Обработка должна выполняться с использованием redispatchEvent для предотвращения рекурсивного запроса диспетчера событий AWT о повторной обработке события KeyboardFocusManager. Если этот метод возвращает false, диспетчер событий AWT попытается обработать событие самостоятельно.

Параметры:
e — AWTEvent, подлежащий обработке
Возвращает:
true если этот метод обработал событие; false в противном случае
См. также:
redispatchEvent(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. По умолчанию этот метод обрабатывает любые необработанные KeyEvent, которые сопоставляются с 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 о том, что он должен отложить обработку KeyEvent до тех пор, пока указанный компонент не станет владельцем фокуса. Если клиентский код запрашивает изменение фокуса, и AWT определяет, что этот запрос может быть удовлетворён системной оболочкой, то AWT вызовет этот метод. Ответственность KeyboardFocusManager заключается в отсрочке обработки KeyEvent с отметками времени, более поздними, чем указанная отметка времени, до тех пор, пока указанный компонент не получит событие 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.

Spec-Zone.ru

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