Класс KeyboardFocusManager
- Все реализуемые интерфейсы:
-
KeyEventDispatcher,KeyEventPostProcessor
- Непосредственные подклассы:
DefaultKeyboardFocusManager
public abstract class KeyboardFocusManager extends Object implements KeyEventDispatcher, KeyEventPostProcessor
Класс KeyboardFocusManager является централизованной точкой для запроса владельца фокуса и инициирования изменений фокуса, а также диспетчером событий для всех событий FocusEvent, WindowEvent, связанных с фокусом, и 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 |
Добавляет обработчик событий KeyEvent в цепочку обработчиков 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 о том, что он должен отменить отложенную отправку событий KeyEvent. |
protected abstract void |
discardKeyEvents |
Вызывается AWT для уведомления KeyboardFocusManager о том, что он должен отменить отложенную отправку событий KeyEvent. |
abstract boolean |
dispatchEvent |
Этот метод вызывается диспетчером событий AWT, запрашивая, чтобы текущий KeyboardFocusManager отправил указанное событие от его имени. |
abstract boolean |
dispatchKeyEvent |
Обычно этот метод будет вызываться dispatchEvent, если ни один другой KeyEventDispatcher в цепочке обработчиков не обработает KeyEvent или если не зарегистрированы другие KeyEventDispatchers. |
final void |
downFocusCycle() |
Перемещает фокус вниз на один цикл обхода фокуса от текущего владельца фокуса, если и только если текущий владелец фокуса является контейнером, являющимся корнем цикла обхода фокуса. |
abstract void |
downFocusCycle |
Перемещает фокус вниз на один цикл обхода фокуса. |
protected abstract void |
enqueueKeyEvents |
Вызывается AWT для уведомления KeyboardFocusManager о том, что он должен отложить отправку событий KeyEvent до тех пор, пока указанный Component не станет владельцем фокуса. |
protected void |
firePropertyChange |
Вызывает PropertyChangeEvent в ответ на изменение связанного свойства. |
protected void |
fireVetoableChange |
Вызывает PropertyChangeEvent в ответ на изменение вето-свойств. |
final void |
focusNextComponent() |
Фокусирует Component после текущего владельца фокуса. |
abstract void |
focusNextComponent |
Фокусирует Component после aComponent, обычно на основе FocusTraversalPolicy. |
final void |
focusPreviousComponent() |
Фокусирует Component перед текущим владельцем фокуса. |
abstract void |
focusPreviousComponent |
Фокусирует Component перед aComponent, обычно на основе FocusTraversalPolicy. |
Window |
getActiveWindow() |
Возвращает активное окно, если активное окно находится в том же контексте, что и вызывающий поток. |
Container |
getCurrentFocusCycleRoot() |
Возвращает текущий корень цикла обхода фокуса, если текущий корень цикла обхода фокуса находится в том же контексте, что и вызывающий поток. |
static KeyboardFocusManager |
getCurrentKeyboardFocusManager() |
Возвращает текущий экземпляр KeyboardFocusManager для контекста вызывающего потока. |
Set |
getDefaultFocusTraversalKeys |
Возвращает набор стандартных клавиш обхода фокуса для заданной операции обхода. |
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 в виде списка. |
protected List |
getKeyEventPostProcessors() |
Возвращает цепочку KeyEventPostProcessor данного KeyboardFocusManager в виде списка. |
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 или любые установленные KeyEventDispatchers повторно отправлять событие. |
void |
removeKeyEventDispatcher |
Удаляет обработчик событий KeyEvent, который был ранее добавлен в цепочку обработчиков 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)
Этот метод фактически не устанавливает фокус на указанный компонент. Он просто сохраняет значение, которое впоследствии будет возвращено методом getFocusOwner(). Используйте Component.requestFocus() или Component.requestFocusInWindow(), чтобы изменить владельца фокуса, с учетом ограничений платформы.
- Параметры:
-
focusOwner- владелец фокуса - См. также:
clearFocusOwner
public void clearFocusOwner()
Компонент владельца фокуса получит постоянное событие FOCUS_LOST. После завершения этой операции нативная система оконного интерфейса отбросит все сгенерированные пользователем события KeyEvents, пока пользователь не выберет новый компонент для получения фокуса или компонент явно не получит фокус с помощью вызова 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)
Этот метод фактически не устанавливает фокус на указанный компонент. Он просто сохраняет значение, которое впоследствии будет возвращено методом 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()
- Возвращает:
- политика прохода по фокусу по умолчанию. null никогда не будет возвращен.
- См. также:
setDefaultFocusTraversalPolicy
public void setDefaultFocusTraversalPolicy(FocusTraversalPolicy defaultPolicy)
- Параметры:
-
defaultPolicy- новая политика прохода по фокусу по умолчанию - Исключения:
-
IllegalArgumentException- если defaultPolicy равно null - См. также:
setDefaultFocusTraversalKeys
public void setDefaultFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)
Set будет действовать во всех Window, которые не имеют явно определённого собственного набора таких клавиш. Этот набор Set также будет унаследован, рекурсивно, любым дочерним Component таких Windows, которые не имеют явно определённого собственного набора таких клавиш. Значения по умолчанию для стандартных клавиш перемещения фокуса зависят от реализации. Sun рекомендует, чтобы все реализации для конкретной платформы использовали одинаковые значения по умолчанию. Рекомендации для Windows и Unix перечислены ниже. Эти рекомендации используются в реализациях Sun AWT.
| Идентификатор | Значение | Значение по умолчанию |
|---|---|---|
KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS |
Обычное перемещение по клавиатуре вперёд |
TAB на KEY_PRESSED, CTRL-TAB на KEY_PRESSED |
KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS |
Обычное перемещение по клавиатуре назад |
SHIFT-TAB на KEY_PRESSED, CTRL-SHIFT-TAB на KEY_PRESSED |
KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS |
Переход на одну позицию вверх в цикле перемещения фокуса | нет |
KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS |
Переход на одну позицию вниз в цикле перемещения фокуса | нет |
Set; пустой набор Collections.EMPTY_SET рекомендуется. Используя API AWTKeyStroke, код клиента может указать, на какой из двух конкретных KeyEvent, KEY_PRESSED или KEY_RELEASED, произойдёт операция перемещения фокуса. Однако, независимо от того, какой KeyEvent указан, все KeyEvent, связанные с клавишей перемещения фокуса, включая связанное событие KEY_TYPED, будут обработаны и не будут пересланы никому Component. Это ошибка во время выполнения - указать событие KEY_TYPED как сопоставленное с операцией перемещения фокуса или сопоставить одно и то же событие с несколькими операциями перемещения стандартного фокуса.
Этот метод может вызвать ClassCastException, если какой-либо Object в keystrokes не является AWTKeyStroke.
- Parameters:
-
id- один изKeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS,KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYSилиKeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS -
keystrokes- наборAWTKeyStrokeдля заданной операции - Throws:
-
IllegalArgumentException- если id не является одним изKeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS,KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYSилиKeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS, или если keystrokes являетсяnull, или если keystrokes содержитnull, или если любая клавиша представляет собой событиеKEY_TYPED, или если любая клавиша уже сопоставлена с другой операцией стандартного перемещения фокуса - See Also:
getDefaultFocusTraversalKeys
public Set<AWTKeyStroke> getDefaultFocusTraversalKeys(int id)
public Set<AWTKeyStroke> getDefaultFocusTraversalKeys(int id)будет действовать во всех окнах, которые не имеют явно определённого собственного набора таких клавиш. Этот набор также будет унаследован, рекурсивно, любым дочерним компонентом этих окон, которые не имеют явно определённого собственного набора таких клавиш. (См.
setDefaultFocusTraversalKeys для полного описания каждой операции.)- Parameters:
-
id- одно из KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS или KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS - Returns:
- набор
SetAWTKeyStrokeдля заданной операции; наборSetбудет неизменяемым и может быть пустым;nullникогда не возвращается - Throws:
-
IllegalArgumentException- если id не является одним из KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS или KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS - See Also:
getCurrentFocusCycleRoot
public Container getCurrentFocusCycleRoot()
Этот метод предназначен для использования только менеджерами клавиатурного фокуса и реализациями фокуса. Он не предназначен для общего использования клиентами.
- Returns:
- текущая корневая точка цикла фокуса или null, если текущая корневая точка цикла фокуса не является членом контекста вызывающей нити
- See Also:
getGlobalCurrentFocusCycleRoot
protected Container getGlobalCurrentFocusCycleRoot()
- Returns:
- текущая корневая точка цикла фокуса или null, если текущая корневая точка цикла фокуса не является членом контекста вызывающей нити
- See Also:
setGlobalCurrentFocusCycleRoot
public void setGlobalCurrentFocusCycleRoot(Container newFocusCycleRoot)
Этот метод предназначен для использования только менеджерами клавиатурного фокуса и реализациями фокуса. Он не предназначен для общего использования клиентами.
- Parameters:
-
newFocusCycleRoot- новая корневая точка цикла фокуса - See Also:
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")
- Parameters:
-
listener- добавляемый PropertyChangeListener - See Also:
removePropertyChangeListener
public void removePropertyChangeListener(PropertyChangeListener listener)
Если listener равен null, исключение не выбрасывается и никаких действий не выполняется.
- Parameters:
-
listener- удаляемый PropertyChangeListener - See Also:
getPropertyChangeListeners
public PropertyChangeListener[] getPropertyChangeListeners()
- Возвращает:
- все слушатели изменений свойств этого менеджера фокуса клавиатуры или пустой массив, если слушатели изменений свойств не зарегистрированы
- С:
- 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)
- Параметры:
-
propertyName- имя свойства - Возвращает:
- все слушатели изменений свойств, связанные с заданным свойством, или пустой массив, если такие слушатели не были добавлены.
- С:
- 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()
- Возвращает:
- все слушатели изменений вето этого менеджера фокуса клавиатуры или пустой массив, если слушатели изменений вето не зарегистрированы
- С:
- 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)
- Параметры:
-
propertyName- имя свойства - Возвращает:
- все слушатели изменений вето, связанные с заданным свойством, или пустой массив, если такие слушатели не были добавлены.
- С:
- 1.4
- См. также:
fireVetoableChange
protected void fireVetoableChange(String propertyName, Object oldValue, Object newValue) throws PropertyVetoException
- Parameters:
-
propertyName- имя свойства, которое изменилось -
oldValue- предыдущее значение свойства -
newValue- новое значение свойства - Throws:
-
PropertyVetoException- еслиVetoableChangeListenerвыбросилоPropertyVetoException
addKeyEventDispatcher
public void addKeyEventDispatcher(KeyEventDispatcher dispatcher)
true из своего метода dispatchKeyEvent. Количество добавляемых KeyEventDispatchers и количество добавлений одной конкретной инстанции KeyEventDispatcher не ограничено. Если указан null диспетчер, то никаких действий не выполняется и исключение не генерируется.
В многопоточном приложении, KeyEventDispatcher ведет себя так же, как и другие слушатели AWT. См. Проблемы многопоточности AWT для получения дополнительной информации.
- Parameters:
-
dispatcher- KeyEventDispatcher для добавления в цепочку диспетчеров - See Also:
removeKeyEventDispatcher
public void removeKeyEventDispatcher(KeyEventDispatcher dispatcher)
addKeyEventDispatcher. Если указан null диспетчер, если указанный диспетчер не в цепочке диспетчеров или если KeyboardFocusManager указан без явной перерегистрации, то никаких действий не выполняется и исключение не генерируется.
В многопоточном приложении, KeyEventDispatcher ведет себя так же, как и другие слушатели AWT. См. Проблемы многопоточности AWT для получения дополнительной информации.
- Parameters:
-
dispatcher- KeyEventDispatcher для удаления из цепочки диспетчеров - See Also:
getKeyEventDispatchers
protected List<KeyEventDispatcher> getKeyEventDispatchers()
addKeyEventDispatcher. Если другие KeyEventDispatchers не зарегистрированы, реализации могут вернуть null или список длиной 0. Код клиента не должен предполагать один вариант поведения вместо другого, а также не должен предполагать, что поведение, однажды установленное, не изменится.- Returns:
- Возможный null или пустой список KeyEventDispatchers
- See Also:
addKeyEventPostProcessor
public void addKeyEventPostProcessor(KeyEventPostProcessor processor)
true из своего метода postProcessKeyEvent. Количество добавляемых KeyEventPostProcessors и количество добавлений одной конкретной инстанции KeyEventPostProcessor не ограничено. Если указан null постобработчик, то никаких действий не выполняется и исключение не генерируется.
В многопоточном приложении, KeyEventPostProcessor ведет себя так же, как и другие слушатели AWT. См. Проблемы многопоточности AWT для получения дополнительной информации.
- Parameters:
-
processor- KeyEventPostProcessor для добавления в цепочку постобработчиков - See Also:
removeKeyEventPostProcessor
public void removeKeyEventPostProcessor(KeyEventPostProcessor processor)
addKeyEventPostProcessor. Если указан null постобработчик, если указанный постобработчик не в цепочке постобработчиков или если этот KeyboardFocusManager указан без явного добавления, то никаких действий не выполняется и исключение не генерируется.
В многопоточном приложении, KeyEventPostProcessor ведет себя так же, как и другие слушатели AWT. См. Проблемы многопоточности AWT для получения дополнительной информации.
- Parameters:
-
processor- KeyEventPostProcessor для удаления из цепочки постобработчиков - See Also:
getKeyEventPostProcessors
protected List<KeyEventPostProcessor> getKeyEventPostProcessors()
addKeyEventPostProcessor. Если KeyEventPostProcessors не зарегистрированы, реализации могут вернуть null или список длиной 0. Код клиента не должен предполагать один вариант поведения вместо другого, а также не должен предполагать, что поведение, однажды установленное, не изменится.- Returns:
- Возможный null или пустой список KeyEventPostProcessors
- See Also:
dispatchEvent
public abstract boolean dispatchEvent(AWTEvent e)
redispatchEvent, чтобы предотвратить рекурсивный запрос диспетчера событий AWT, чтобы KeyboardFocusManager обработал событие повторно. Если этот метод возвращает false, то диспетчер событий AWT попытается обработать событие самостоятельно.- Parameters:
-
e- AWTEvent для обработки - Returns:
-
true, если этот метод обработал событие;falseв противном случае - See Also:
redispatchEvent
public final void redispatchEvent(Component target, AWTEvent e)
dispatchEvent и клиентские определенные KeyEventDispatchers должны вызывать redispatchEvent(target, e) вместо target.dispatchEvent(e) для обработки события. Этот метод предназначен только для использования KeyboardFocusManagers и KeyEventDispatchers. Он не предназначен для общего использования клиентом.
- Parameters:
-
target- Компонент, которому следует передать событие -
e- событие для обработки - See Also:
dispatchKeyEvent
public abstract boolean dispatchKeyEvent(KeyEvent e)
dispatchEvent, если ни один другой KeyEventDispatcher в цепочке диспетчеров не обработала KeyEvent, или если другие KeyEventDispatchers не зарегистрированы. Если реализация этого метода возвращает false, dispatchEvent может попытаться обработать KeyEvent самостоятельно или просто вернуть false. Если возвращается true, то dispatchEvent также должен вернуть true.- Specified by:
-
dispatchKeyEventв интерфейсеKeyEventDispatcher - Parameters:
-
e- KeyEvent, обработку которого запросил текущий KeyboardFocusManager - Returns:
-
true, если KeyEvent был обработан;falseв противном случае - See Also:
postProcessKeyEvent
public abstract boolean postProcessKeyEvent(KeyEvent e)
dispatchKeyEvent. По умолчанию этот метод обрабатывает любые необработанные KeyEvents, которые соответствуют AWT MenuShortcut, потребляя событие и активируя сочетание клавиш.- Specified by:
-
postProcessKeyEventв интерфейсеKeyEventPostProcessor - Parameters:
-
e- KeyEvent для последующей обработки - Returns:
-
true, чтобы указать, что другие KeyEventPostProcessor не будут уведомлены о KeyEvent. - See Also:
processKeyEvent
public abstract void processKeyEvent(Component focusedComponent, KeyEvent e)
- Parameters:
-
focusedComponent- Компонент, который будет основой для операции перехода фокуса, если указанное событие представляет собой клавишу перехода фокуса для этого компонента -
e- событие, которое может представлять собой клавишу перехода фокуса
enqueueKeyEvents
protected abstract void enqueueKeyEvents(long after, Component untilFocused)
dequeueKeyEvents или discardKeyEvents.- Parameters:
-
after- метка времени текущего события или текущее системное время, если текущее событие не имеет метки времени или AWT не может определить, какое событие обрабатывается в данный момент -
untilFocused- Компонент, который должен получить событие FOCUS_GAINED перед любыми ожидающими KeyEvents - See Also:
dequeueKeyEvents
protected abstract void dequeueKeyEvents(long after, Component untilFocused)
enqueueKeyEvents с той же меткой времени и компонентом, должны быть освобождены для обычной обработки текущим владельцем фокуса. Если заданная метка времени меньше нуля, ожидающий запрос на постановку в очередь для данного компонента с самой старой меткой времени (если таковая имеется) должен быть отменён.- Parameters:
-
after- метка времени, указанная в вызовеenqueueKeyEvents, или любое значение < 0 -
untilFocused- Компонент, указанный в вызовеenqueueKeyEvents - See Also:
discardKeyEvents
protected abstract void discardKeyEvents(Component comp)
enqueueKeyEvents с тем же компонентом, должны быть удалены.- Parameters:
-
comp- Компонент, указанный в одном или нескольких вызовахenqueueKeyEvents - See Also:
focusNextComponent
public abstract void focusNextComponent(Component aComponent)
- Parameters:
-
aComponent- Компонент, являющийся основой для операции перехода фокуса - See Also:
focusPreviousComponent
public abstract void focusPreviousComponent(Component aComponent)
- Parameters:
-
aComponent- Компонент, являющийся основой для операции перехода фокуса - See Also:
upFocusCycle
public abstract void upFocusCycle(Component aComponent)
- Parameters:
-
aComponent- Компонент, являющийся основой для операции перехода фокуса
downFocusCycle
public abstract void downFocusCycle(Container aContainer)
- Parameters:
-
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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/awt/KeyboardFocusManager.html