Класс KeyboardFocusManager
- Все реализуемые интерфейсы:
KeyEventDispatcher, KeyEventPostProcessor
- Прямые известные подклассы:
DefaultKeyboardFocusManager
public abstract class KeyboardFocusManager extends Object implements KeyEventDispatcher, KeyEventPostProcessor
KeyboardFocusManager служит как централизованным местом, где клиентский код может получить сведения о владельце фокуса и инициировать изменения фокуса, так и диспетчером событий для всех FocusEvents, WindowEvents, связанных с фокусом, и KeyEvents.
Некоторые браузеры разделяют апплеты, размещённые в разных базах кода, по отдельным контекстам и устанавливают между этими контекстами барьеры. В таком случае для каждого контекста будет существовать отдельный KeyboardFocusManager. Другие браузеры помещают все апплеты в один контекст, поэтому для всех апплетов будет использоваться единственный глобальный KeyboardFocusManager. Такое поведение зависит от реализации. Дополнительные сведения см. в документации браузера. Однако независимо от количества контекстов для каждого ClassLoader может существовать не более одного владельца фокуса, сфокусированного окна или активного окна.
Дополнительные сведения см. в разделе Как использовать подсистему фокуса из Учебника по Java и в спецификации фокуса.
- Начиная с версии:
- 1.4
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
BACKWARD_TRAVERSAL_KEYS |
Идентификатор клавиш обхода фокуса в обратном направлении. |
static final int |
DOWN_CYCLE_TRAVERSAL_KEYS |
Идентификатор клавиш перехода вниз по циклу обхода фокуса. |
static final int |
FORWARD_TRAVERSAL_KEYS |
Идентификатор клавиш обхода фокуса в прямом направлении. |
static final int |
UP_CYCLE_TRAVERSAL_KEYS |
Идентификатор клавиш перехода вверх по циклу обхода фокуса. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
KeyboardFocusManager() |
Инициализирует KeyboardFocusManager. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addKeyEventDispatcher |
Добавляет KeyEventDispatcher в цепочку диспетчеризации этого KeyboardFocusManager. |
void |
addKeyEventPostProcessor |
Добавляет KeyEventPostProcessor в цепочку постобработки этого KeyboardFocusManager. |
void |
addPropertyChangeListener |
Добавляет PropertyChangeListener в список слушателей. |
void |
addPropertyChangeListener |
Добавляет PropertyChangeListener в список слушателей для указанного свойства. |
void |
addVetoableChangeListener |
Добавляет VetoableChangeListener в список слушателей. |
void |
addVetoableChangeListener |
Добавляет VetoableChangeListener в список слушателей для указанного свойства. |
void |
clearFocusOwner() |
Сбрасывает владельца фокуса на уровне Java и собственной оконной системы, если владелец фокуса существует и находится в том же контексте, что и вызывающий поток; в противном случае метод ничего не делает. |
void |
clearGlobalFocusOwner() |
Сбрасывает глобального владельца фокуса на уровне Java и собственной оконной системы. |
protected abstract void |
dequeueKeyEvents |
Вызывается AWT, чтобы уведомить KeyboardFocusManager о необходимости отменить отложенную диспетчеризацию KeyEvents. |
protected abstract void |
discardKeyEvents |
Вызывается AWT, чтобы уведомить KeyboardFocusManager о необходимости отменить отложенную диспетчеризацию KeyEvents. |
abstract boolean |
dispatchEvent |
Этот метод вызывается диспетчером событий AWT с просьбой к текущему KeyboardFocusManager выполнить диспетчеризацию указанного события от его имени. |
abstract boolean |
dispatchKeyEvent |
Обычно этот метод вызывается dispatchEvent, если ни один другой KeyEventDispatcher в цепочке диспетчеризации не выполнил диспетчеризацию KeyEvent или если другие KeyEventDispatcher не зарегистрированы. |
final void |
downFocusCycle() |
Перемещает фокус вниз на один цикл обхода от текущего владельца фокуса, только если текущий владелец фокуса является Container, служащим корнем цикла обхода фокуса. |
abstract void |
downFocusCycle |
Перемещает фокус вниз на один цикл обхода. |
protected abstract void |
enqueueKeyEvents |
Вызывается AWT, чтобы уведомить KeyboardFocusManager о необходимости отложить диспетчеризацию KeyEvents до тех пор, пока указанный Component не станет владельцем фокуса. |
protected void |
firePropertyChange |
Генерирует PropertyChangeEvent в ответ на изменение связанного свойства. |
protected void |
fireVetoableChange |
Генерирует PropertyChangeEvent в ответ на изменение свойства, изменение которого можно отклонить. |
final void |
focusNextComponent() |
Передаёт фокус компоненту, следующему за текущим владельцем фокуса. |
abstract void |
focusNextComponent |
Передаёт фокус компоненту, следующему за aComponent, обычно согласно FocusTraversalPolicy. |
final void |
focusPreviousComponent() |
Передаёт фокус компоненту, предшествующему текущему владельцу фокуса. |
abstract void |
focusPreviousComponent |
Передаёт фокус компоненту, предшествующему aComponent, обычно согласно FocusTraversalPolicy. |
Window |
getActiveWindow() |
Возвращает активное окно, если оно находится в том же контексте, что и вызывающий поток. |
Container |
getCurrentFocusCycleRoot() |
Возвращает текущий корень цикла обхода фокуса, если он находится в том же контексте, что и вызывающий поток. |
static KeyboardFocusManager |
getCurrentKeyboardFocusManager() |
Возвращает текущий экземпляр KeyboardFocusManager для контекста вызывающего потока. |
Set |
getDefaultFocusTraversalKeys |
Возвращает Set клавиш обхода фокуса по умолчанию для заданной операции обхода. |
FocusTraversalPolicy |
getDefaultFocusTraversalPolicy() |
Возвращает FocusTraversalPolicy по умолчанию. |
Window |
getFocusedWindow() |
Возвращает сфокусированное окно, если оно находится в том же контексте, что и вызывающий поток. |
Component |
getFocusOwner() |
Возвращает владельца фокуса, если он находится в том же контексте, что и вызывающий поток. |
protected Window |
getGlobalActiveWindow() |
Возвращает активное окно, даже если вызывающий поток находится не в том же контексте, что и активное окно. |
protected Container |
getGlobalCurrentFocusCycleRoot() |
Возвращает текущий корень цикла обхода фокуса, даже если вызывающий поток находится не в том же контексте, что и текущий корень цикла обхода фокуса. |
protected Window |
getGlobalFocusedWindow() |
Возвращает сфокусированное окно, даже если вызывающий поток находится не в том же контексте, что и сфокусированное окно. |
protected Component |
getGlobalFocusOwner() |
Возвращает владельца фокуса, даже если вызывающий поток находится не в том же контексте, что и владелец фокуса. |
protected Component |
getGlobalPermanentFocusOwner() |
Возвращает постоянного владельца фокуса, даже если вызывающий поток находится не в том же контексте, что и постоянный владелец фокуса. |
protected List |
getKeyEventDispatchers() |
Возвращает цепочку KeyEventDispatcher этого KeyboardFocusManager в виде List. |
protected List |
getKeyEventPostProcessors() |
Возвращает цепочку KeyEventPostProcessor этого KeyboardFocusManager в виде List. |
Component |
getPermanentFocusOwner() |
Возвращает постоянного владельца фокуса, если он находится в том же контексте, что и вызывающий поток. |
PropertyChangeListener[] |
getPropertyChangeListeners() |
Возвращает массив всех слушателей изменений свойств, зарегистрированных в этом диспетчере фокуса клавиатуры. |
PropertyChangeListener[] |
getPropertyChangeListeners |
Возвращает массив всех PropertyChangeListener, связанных с указанным свойством. |
VetoableChangeListener[] |
getVetoableChangeListeners() |
Возвращает массив всех слушателей изменений, которые могут отклоняться, зарегистрированных в этом диспетчере фокуса клавиатуры. |
VetoableChangeListener[] |
getVetoableChangeListeners |
Возвращает массив всех VetoableChangeListener, связанных с указанным свойством. |
abstract boolean |
postProcessKeyEvent |
Этот метод вызывается dispatchKeyEvent. |
abstract void |
processKeyEvent |
Этот метод инициирует обход фокуса тогда и только тогда, когда KeyEvent представляет собой клавишу обхода фокуса для указанного focusedComponent. |
final void |
redispatchEvent |
Повторно передаёт AWTEvent таким образом, чтобы диспетчер событий AWT не запрашивал рекурсивно повторную диспетчеризацию этого события у KeyboardFocusManager или установленных KeyEventDispatcher. |
void |
removeKeyEventDispatcher |
Удаляет KeyEventDispatcher, ранее добавленный в цепочку диспетчеризации этого KeyboardFocusManager. |
void |
removeKeyEventPostProcessor |
Удаляет ранее добавленный KeyEventPostProcessor из цепочки постобработки этого KeyboardFocusManager. |
void |
removePropertyChangeListener |
Удаляет PropertyChangeListener из списка слушателей. |
void |
removePropertyChangeListener |
Удаляет PropertyChangeListener из списка слушателей для указанного свойства. |
void |
removeVetoableChangeListener |
Удаляет VetoableChangeListener из списка слушателей. |
void |
removeVetoableChangeListener |
Удаляет VetoableChangeListener из списка слушателей для указанного свойства. |
static void |
setCurrentKeyboardFocusManager |
Устанавливает текущий экземпляр KeyboardFocusManager для контекста вызывающего потока. |
void |
setDefaultFocusTraversalKeys |
Устанавливает клавиши обхода фокуса по умолчанию для заданной операции обхода. |
void |
setDefaultFocusTraversalPolicy |
Устанавливает FocusTraversalPolicy по умолчанию. |
protected void |
setGlobalActiveWindow |
Устанавливает активное окно. |
void |
setGlobalCurrentFocusCycleRoot |
Устанавливает текущий корень цикла обхода фокуса. |
protected void |
setGlobalFocusedWindow |
Устанавливает сфокусированное окно. |
protected void |
setGlobalFocusOwner |
Устанавливает владельца фокуса. |
protected void |
setGlobalPermanentFocusOwner |
Устанавливает постоянного владельца фокуса. |
final void |
upFocusCycle() |
Перемещает фокус вверх на один цикл обхода от текущего владельца фокуса. |
abstract void |
upFocusCycle |
Перемещает фокус вверх на один цикл обхода. |
Подробное описание полей
FORWARD_TRAVERSAL_KEYS
public static final int FORWARD_TRAVERSAL_KEYS
- См. также:
BACKWARD_TRAVERSAL_KEYS
public static final int BACKWARD_TRAVERSAL_KEYS
- См. также:
UP_CYCLE_TRAVERSAL_KEYS
public static final int UP_CYCLE_TRAVERSAL_KEYS
- См. также:
DOWN_CYCLE_TRAVERSAL_KEYS
public static final int DOWN_CYCLE_TRAVERSAL_KEYS
- См. также:
Подробное описание конструкторов
KeyboardFocusManager
public KeyboardFocusManager()
Подробное описание методов
getCurrentKeyboardFocusManager
public static KeyboardFocusManager getCurrentKeyboardFocusManager()
- Возвращает:
- KeyboardFocusManager контекста этого потока
- См. также:
setCurrentKeyboardFocusManager
public static void setCurrentKeyboardFocusManager(KeyboardFocusManager newManager)
- Параметры:
-
newManager— новый KeyboardFocusManager для контекста этого потока - См. также:
getFocusOwner
public Component getFocusOwner()
- Возвращает:
- владельца фокуса или null, если владелец фокуса не принадлежит контексту вызывающего потока
- См. также:
getGlobalFocusOwner
protected Component getGlobalFocusOwner()
- Возвращает:
- владельца фокуса
- См. также:
setGlobalFocusOwner
protected void setGlobalFocusOwner(Component focusOwner)
Этот метод фактически не переводит фокус на указанный Component. Он лишь сохраняет значение, которое впоследствии будет возвращено методом getFocusOwner(). Чтобы сменить владельца фокуса с учётом ограничений платформы, используйте Component.requestFocus() или Component.requestFocusInWindow().
- Параметры:
-
focusOwner— владелец фокуса - См. также:
clearFocusOwner
public void clearFocusOwner()
Компонент — владелец фокуса получит постоянное событие FOCUS_LOST. После завершения этой операции нативная оконная система будет отбрасывать все KeyEvent, сгенерированные пользователем, пока пользователь не выберет новый Component для получения фокуса или фокус не будет явно передан Component вызовом requestFocus(). Эта операция не изменяет окно, находящееся в фокусе или активное окно.
- С версии:
- 1.8
- См. также:
clearGlobalFocusOwner
public void clearGlobalFocusOwner()
requestFocus(). Эта операция не изменяет окно, находящееся в фокусе или активное окно. Этот метод предназначен исключительно для KeyboardFocusManager, заданного в качестве текущего KeyboardFocusManager для контекста вызывающего потока. Он не предназначен для общего использования клиентским кодом.
- См. также:
getPermanentFocusOwner
public Component getPermanentFocusOwner()
- Возвращает:
- постоянного владельца фокуса или null, если постоянный владелец фокуса не принадлежит контексту вызывающего потока
- См. также:
getGlobalPermanentFocusOwner
protected Component getGlobalPermanentFocusOwner()
- Возвращает:
- постоянного владельца фокуса
- См. также:
setGlobalPermanentFocusOwner
protected void setGlobalPermanentFocusOwner(Component permanentFocusOwner)
Этот метод фактически не переводит фокус на указанный Component. Он лишь сохраняет значение, которое впоследствии будет возвращено методом getPermanentFocusOwner(). Чтобы сменить владельца фокуса с учётом ограничений платформы, используйте Component.requestFocus() или Component.requestFocusInWindow().
- Параметры:
-
permanentFocusOwner— постоянный владелец фокуса - См. также:
getFocusedWindow
public Window getFocusedWindow()
- Возвращает:
- окно, находящееся в фокусе, или null, если оно не принадлежит контексту вызывающего потока
- См. также:
getGlobalFocusedWindow
protected Window getGlobalFocusedWindow()
- Возвращает:
- окно, находящееся в фокусе
- См. также:
setGlobalFocusedWindow
protected void setGlobalFocusedWindow(Window focusedWindow)
С точки зрения нативной оконной системы этот метод фактически не изменяет окно, находящееся в фокусе. Он лишь сохраняет значение, которое впоследствии будет возвращено методом getFocusedWindow(). Чтобы изменить окно, находящееся в фокусе, с учётом ограничений платформы, используйте Component.requestFocus() или Component.requestFocusInWindow().
- Параметры:
-
focusedWindow— окно, находящееся в фокусе - См. также:
getActiveWindow
public Window getActiveWindow()
- Возвращает:
- активное окно или null, если оно не принадлежит контексту вызывающего потока
- См. также:
getGlobalActiveWindow
protected Window getGlobalActiveWindow()
- Возвращает:
- активное окно
- См. также:
setGlobalActiveWindow
protected void setGlobalActiveWindow(Window activeWindow)
С точки зрения нативной оконной системы этот метод фактически не изменяет активное окно. Он лишь сохраняет значение, которое впоследствии будет возвращено методом getActiveWindow(). Чтобы изменить активное окно с учётом ограничений платформы, используйте Component.requestFocus() или Component.requestFocusInWindow().
- Параметры:
-
activeWindow— активное окно - См. также:
getDefaultFocusTraversalPolicy
public FocusTraversalPolicy getDefaultFocusTraversalPolicy()
- Возвращает:
- FocusTraversalPolicy по умолчанию. Значение null никогда не возвращается.
- См. также:
setDefaultFocusTraversalPolicy
public void setDefaultFocusTraversalPolicy(FocusTraversalPolicy defaultPolicy)
- Параметры:
-
defaultPolicy— новая политика FocusTraversalPolicy по умолчанию - Вызывает исключение:
-
IllegalArgumentException— если defaultPolicy имеет значение null - См. также:
setDefaultFocusTraversalKeys
public void setDefaultFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)
Set будет применяться ко всем Window, для которых явно не задан собственный Set. Этот Set также будет рекурсивно наследоваться любыми дочерними Component этих Windows, для которых явно не задан собственный Set. Значения клавиш обхода фокуса по умолчанию зависят от реализации. Sun рекомендует всем реализациям для конкретной нативной платформы использовать одинаковые значения по умолчанию. Рекомендации для Windows и Unix приведены ниже. Эти рекомендации используются в реализациях Sun AWT.
| Идентификатор | Назначение | Значение по умолчанию |
|---|---|---|
KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS |
Обычный обход фокуса вперёд с помощью клавиатуры |
TAB в KEY_PRESSED, CTRL-TAB в KEY_PRESSED |
KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS |
Обычный обратный обход фокуса с помощью клавиатуры |
SHIFT-TAB в KEY_PRESSED, CTRL-SHIFT-TAB в KEY_PRESSED |
KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS |
Перейти на один уровень вверх в цикле обхода фокуса | отсутствуют |
KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS |
Перейти на один уровень вниз в цикле обхода фокуса | отсутствуют |
Set; рекомендуется Collections.EMPTY_SET. С помощью API AWTKeyStroke клиентский код может указать, к какому из двух конкретных KeyEvent — KEY_PRESSED или KEY_RELEASED — будет применяться операция обхода фокуса. Однако независимо от того, какой KeyEvent указан, все KeyEvent, связанные с клавишей обхода фокуса, включая соответствующее событие KEY_TYPED, будут обработаны и не будут отправлены ни одному Component. Указание события KEY_TYPED как соответствующего операции обхода фокуса или назначение одного и того же события нескольким операциям обхода фокуса по умолчанию является ошибкой времени выполнения.
Этот метод может вызвать исключение ClassCastException, если какой-либо Object в keystrokes не является AWTKeyStroke.
- Параметры:
-
id— одно из значенийKeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS,KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYSилиKeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS -
keystrokes— Set объектовAWTKeyStrokeдля указанной операции - Вызывает исключение:
-
IllegalArgumentException— если id не является одним изKeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS,KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYSилиKeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS, либо если keystrokes равенnull, содержитnull, либо если какое-либо нажатие клавиши представляет собой событиеKEY_TYPED, либо если какое-либо нажатие клавиши уже сопоставлено с другой операцией обхода фокуса по умолчанию - См. также:
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для указанной операции;Setбудет неизменяемым и может быть пустым;nullникогда не возвращается- Вызывает исключение:
-
IllegalArgumentException— если id не является одним из KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS или KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS - См. также:
getCurrentFocusCycleRoot
public Container getCurrentFocusCycleRoot()
Этот метод предназначен исключительно для KeyboardFocusManager и реализаций фокуса. Он не предназначен для общего использования клиентским кодом.
- Возвращает:
- текущий корень цикла обхода фокуса или null, если он не принадлежит контексту вызывающего потока
- См. также:
getGlobalCurrentFocusCycleRoot
protected Container getGlobalCurrentFocusCycleRoot()
- Возвращает:
- текущий корень цикла обхода фокуса или null, если он не принадлежит контексту вызывающего потока
- См. также:
setGlobalCurrentFocusCycleRoot
public void setGlobalCurrentFocusCycleRoot(Container newFocusCycleRoot)
Этот метод предназначен исключительно для KeyboardFocusManager и реализаций фокуса. Он не предназначен для общего использования клиентским кодом.
- Параметры:
-
newFocusCycleRoot— новый корень цикла обхода фокуса - См. также:
addPropertyChangeListener
public void addPropertyChangeListener(PropertyChangeListener listener)
- управляет ли 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— PropertyChangeListener, который требуется добавить - См. также:
removePropertyChangeListener
public void removePropertyChangeListener(PropertyChangeListener listener)
Если listener равен null, исключение не выбрасывается и никаких действий не выполняется.
- Параметры:
-
listener— PropertyChangeListener, который требуется удалить - См. также:
getPropertyChangeListeners
public PropertyChangeListener[] getPropertyChangeListeners()
- Возвращает:
- все
PropertyChangeListenerы этого менеджера фокуса клавиатуры или пустой массив, если в данный момент не зарегистрировано ни одного слушателя изменений свойств - Начиная с версии:
- 1.4
- См. также:
addPropertyChangeListener
public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
- управляет ли 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")
- Параметры:
-
propertyName— одно из перечисленных выше имен свойств -
listener— PropertyChangeListener, который требуется добавить - См. также:
removePropertyChangeListener
public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener)
Если listener равен null, исключение не выбрасывается и никаких действий не выполняется.
- Параметры:
-
propertyName— допустимое имя свойства -
listener— PropertyChangeListener, который требуется удалить - См. также:
getPropertyChangeListeners
public PropertyChangeListener[] getPropertyChangeListeners(String propertyName)
PropertyChangeListenerов, связанных с указанным свойством.- Параметры:
-
propertyName— имя свойства - Возвращает:
- все
PropertyChangeListenerы, связанные с указанным свойством, или пустой массив, если такие слушатели не добавлялись. - Начиная с версии:
- 1.4
- См. также:
firePropertyChange
protected void firePropertyChange(String propertyName, Object oldValue, Object newValue)
- Параметры:
-
propertyName— имя изменившегося свойства -
oldValue— предыдущее значение свойства -
newValue— новое значение свойства
addVetoableChangeListener
public void addVetoableChangeListener(VetoableChangeListener listener)
- владелец фокуса ("focusOwner")
- постоянный владелец фокуса ("permanentFocusOwner")
- окно в фокусе ("focusedWindow")
- активное окно ("activeWindow")
- Параметры:
-
listener— VetoableChangeListener, который требуется добавить - См. также:
removeVetoableChangeListener
public void removeVetoableChangeListener(VetoableChangeListener listener)
Если listener равен null, исключение не выбрасывается и никаких действий не выполняется.
- Параметры:
-
listener— VetoableChangeListener, который требуется удалить - См. также:
getVetoableChangeListeners
public VetoableChangeListener[] getVetoableChangeListeners()
- Возвращает:
- все
VetoableChangeListenerы этого менеджера фокуса клавиатуры или пустой массив, если в данный момент не зарегистрировано ни одного слушателя изменений с возможностью запрета - Начиная с версии:
- 1.4
- См. также:
addVetoableChangeListener
public void addVetoableChangeListener(String propertyName, VetoableChangeListener listener)
- владелец фокуса ("focusOwner")
- постоянный владелец фокуса ("permanentFocusOwner")
- окно в фокусе ("focusedWindow")
- активное окно ("activeWindow")
- Параметры:
-
propertyName— одно из перечисленных выше имен свойств -
listener— VetoableChangeListener, который требуется добавить - См. также:
removeVetoableChangeListener
public void removeVetoableChangeListener(String propertyName, VetoableChangeListener listener)
Если listener равен null, исключение не выбрасывается и никаких действий не выполняется.
- Параметры:
-
propertyName— допустимое имя свойства -
listener— VetoableChangeListener, который требуется удалить - См. также:
getVetoableChangeListeners
public VetoableChangeListener[] getVetoableChangeListeners(String propertyName)
VetoableChangeListenerов, связанных с указанным свойством.- Параметры:
-
propertyName— имя свойства - Возвращает:
- все
VetoableChangeListenerы, связанные с указанным свойством, или пустой массив, если такие слушатели не добавлялись. - Начиная с версии:
- 1.4
- См. также:
fireVetoableChange
protected void fireVetoableChange(String propertyName, Object oldValue, Object newValue) throws PropertyVetoException
- Параметры:
-
propertyName— имя изменившегося свойства -
oldValue— предыдущее значение свойства -
newValue— новое значение свойства - Выбрасывает:
-
PropertyVetoException— еслиVetoableChangeListenerвыбросилPropertyVetoException
addKeyEventDispatcher
public void addKeyEventDispatcher(KeyEventDispatcher dispatcher)
true из своего метода dispatchKeyEvent. Число добавляемых KeyEventDispatcher не ограничено, как не ограничено и число добавлений одного и того же экземпляра KeyEventDispatcher. Если указан диспетчер null, никаких действий не выполняется и исключение не выбрасывается.
В многопоточном приложении KeyEventDispatcher ведет себя так же, как и другие слушатели AWT. Подробнее см. в разделе Проблемы многопоточности AWT.
- Параметры:
-
dispatcher— KeyEventDispatcher, который требуется добавить в цепочку диспетчеризации - См. также:
removeKeyEventDispatcher
public void removeKeyEventDispatcher(KeyEventDispatcher dispatcher)
addKeyEventDispatcher. Если указан диспетчер null, указанный диспетчер отсутствует в цепочке диспетчеризации или указан этот KeyboardFocusManager без его явной повторной регистрации, никаких действий не выполняется и исключение не выбрасывается.
В многопоточном приложении KeyEventDispatcher ведет себя так же, как и другие слушатели AWT. Подробнее см. в разделе Проблемы многопоточности AWT.
- Параметры:
-
dispatcher— KeyEventDispatcher, который требуется удалить из цепочки диспетчеризации - См. также:
getKeyEventDispatchers
protected List<KeyEventDispatcher> getKeyEventDispatchers()
addKeyEventDispatcher. Если другие KeyEventDispatcher не зарегистрированы, реализации могут возвращать null или List длины 0. Клиентский код не должен полагаться на один из вариантов поведения, а также считать, что установленное поведение не изменится.- Возвращает:
- возможно, null или пустой List объектов KeyEventDispatcher
- См. также:
addKeyEventPostProcessor
public void addKeyEventPostProcessor(KeyEventPostProcessor processor)
true из своего метода postProcessKeyEvent. Число добавляемых KeyEventPostProcessor не ограничено, как не ограничено и число добавлений одного и того же экземпляра KeyEventPostProcessor. Если указан постпроцессор null, никаких действий не выполняется и исключение не выбрасывается.
В многопоточном приложении KeyEventPostProcessor ведет себя так же, как и другие слушатели AWT. Подробнее см. в разделе Проблемы многопоточности AWT.
- Параметры:
-
processor— KeyEventPostProcessor, который требуется добавить в цепочку постобработки - См. также:
removeKeyEventPostProcessor
public void removeKeyEventPostProcessor(KeyEventPostProcessor processor)
addKeyEventPostProcessor. Если указан постпроцессор null, указанный постпроцессор отсутствует в цепочке постобработки или указан этот KeyboardFocusManager без его явного добавления, никаких действий не выполняется и исключение не выбрасывается.
В многопоточном приложении KeyEventPostProcessor ведет себя так же, как и другие слушатели AWT. Подробнее см. в разделе Проблемы многопоточности AWT.
- Параметры:
-
processor— KeyEventPostProcessor, который требуется удалить из цепочки постобработки - См. также:
getKeyEventPostProcessors
protected List<KeyEventPostProcessor> getKeyEventPostProcessors()
addKeyEventPostProcessor. Если KeyEventPostProcessor не зарегистрированы, реализации могут возвращать null или List длины 0. Клиентский код не должен полагаться на один из вариантов поведения, а также считать, что установленное поведение не изменится.- Возвращает:
- возможно, null или пустой List объектов KeyEventPostProcessor
- См. также:
dispatchEvent
public abstract boolean dispatchEvent(AWTEvent e)
redispatchEvent, чтобы предотвратить повторный рекурсивный запрос диспетчера событий AWT на диспетчеризацию события через KeyboardFocusManager. Если этот метод возвращает false, диспетчер событий AWT попытается выполнить диспетчеризацию события самостоятельно.- Параметры:
-
e— AWTEvent, который требуется диспетчеризировать - Возвращает:
-
true, если этот метод диспетчеризировал событие; в противном случае —false - См. также:
redispatchEvent
public final void redispatchEvent(Component target, AWTEvent e)
dispatchEvent и определенные клиентом KeyEventDispatcher должны вызывать redispatchEvent(target, e) вместо target.dispatchEvent(e) для диспетчеризации события. Этот метод предназначен только для KeyboardFocusManager и KeyEventDispatcher. Он не предназначен для общего использования клиентским кодом.
- Параметры:
-
target— Component, которому следует передать событие -
e— событие, которое требуется диспетчеризировать - См. также:
dispatchKeyEvent
public abstract boolean dispatchKeyEvent(KeyEvent e)
dispatchEvent, если ни один другой KeyEventDispatcher в цепочке диспетчеризации не диспетчеризировал KeyEvent или если другие KeyEventDispatcher не зарегистрированы. Если реализация этого метода возвращает false, dispatchEvent может попытаться диспетчеризировать KeyEvent самостоятельно или просто вернуть false. Если возвращается true, dispatchEvent также должен вернуть true.- Определено в:
-
dispatchKeyEventв интерфейсеKeyEventDispatcher - Параметры:
-
e— KeyEvent, который текущий KeyboardFocusManager попросил диспетчеризировать этот KeyEventDispatcher - Возвращает:
-
true, если KeyEvent был диспетчеризирован; в противном случае —false - См. также:
postProcessKeyEvent
public abstract boolean postProcessKeyEvent(KeyEvent e)
dispatchKeyEvent. По умолчанию этот метод обрабатывает все непотребленные KeyEvent, соответствующие MenuShortcut AWT, потребляя событие и активируя сочетание клавиш.- Определено в:
-
postProcessKeyEventв интерфейсеKeyEventPostProcessor - Параметры:
-
e— KeyEvent, который требуется обработать после диспетчеризации - Возвращает:
-
true, чтобы указать, что другие KeyEventPostProcessor не будут уведомлены о KeyEvent. - См. также:
processKeyEvent
public abstract void processKeyEvent(Component focusedComponent, KeyEvent e)
- Параметры:
-
focusedComponent— Component, который будет использоваться как основа операции обхода фокуса, если указанное событие представляет собой клавишу обхода фокуса для Component -
e— событие, которое может представлять собой клавишу обхода фокуса
enqueueKeyEvents
protected abstract void enqueueKeyEvents(long after, Component untilFocused)
dequeueKeyEvents или discardKeyEvents.- Параметры:
-
after— временная метка текущего события либо текущее системное время, если у текущего события нет временной метки или AWT не может определить, какое событие обрабатывается в данный момент -
untilFocused— Component, который должен получить событие FOCUS_GAINED до обработки любых ожидающих KeyEvent - См. также:
dequeueKeyEvents
protected abstract void dequeueKeyEvents(long after, Component untilFocused)
enqueueKeyEvents с той же временной меткой и Component, должны быть освобождены для обычной обработки текущим владельцем фокуса. Если заданная временная метка меньше нуля, следует отменить незавершённый запрос на постановку в очередь для заданного Component с самой ранней временной меткой (если таковой имеется).- Параметры:
-
after— временная метка, указанная при вызовеenqueueKeyEvents, или любое значение < 0 -
untilFocused— Component, указанный при вызовеenqueueKeyEvents - См. также:
discardKeyEvents
protected abstract void discardKeyEvents(Component comp)
enqueueKeyEvents с тем же Component, должны быть отброшены.- Параметры:
-
comp— Component, указанный в одном или нескольких вызовахenqueueKeyEvents - См. также:
focusNextComponent
public abstract void focusNextComponent(Component aComponent)
- Параметры:
-
aComponent— компонент, служащий отправной точкой для операции обхода фокуса - См. также:
focusPreviousComponent
public abstract void focusPreviousComponent(Component aComponent)
- Параметры:
-
aComponent— компонент, служащий отправной точкой для операции обхода фокуса - См. также:
upFocusCycle
public abstract void upFocusCycle(Component aComponent)
- Параметры:
-
aComponent— компонент, служащий отправной точкой для операции обхода фокуса
downFocusCycle
public abstract void downFocusCycle(Container aContainer)
- Параметры:
-
aContainer— контейнер, служащий отправной точкой для операции обхода фокуса
focusNextComponent
public final void focusNextComponent()
focusPreviousComponent
public final void focusPreviousComponent()
upFocusCycle
public final void upFocusCycle()
downFocusCycle
public final void downFocusCycle()
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/java/awt/KeyboardFocusManager.html