Класс FocusTraversalPolicy
- Прямые известные подклассы:
-
ContainerOrderFocusTraversalPolicy,InternalFrameFocusTraversalPolicy
public abstract class FocusTraversalPolicy extends Object
Основная обязанность FocusTraversalPolicy заключается в предоставлении алгоритмов, определяющих следующие и предыдущие компоненты для фокуса при просмотре вперед или назад в пользовательском интерфейсе. Каждый FocusTraversalPolicy должен также предоставить алгоритмы для определения первого, последнего и стандартного компонентов в цикле обхода. Первые и последние компоненты используются, когда обычный прямой и обратный обход, соответственно, циклически повторяется. Стандартный компонент — это первый, который получает фокус при переходе вниз в новый цикл обхода фокуса. FocusTraversalPolicy может необязательно предоставить алгоритм для определения начального компонента окна. Начальный компонент — это первый, который получает фокус, когда окно впервые становится видимым.
FocusTraversalPolicy учитывает поставщиков политик обхода фокуса. При поиске первого/последнего/следующего/предыдущего компонента, если встречается поставщик политик обхода фокуса, используется его политика обхода фокуса для выполнения операции поиска.
Дополнительную информацию можно найти в Руководстве по использованию подсистемы фокуса, разделе Руководства по Java, и Спецификации фокуса.
- С:
- 1.4
- См. также:
-
Container.setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)Container.getFocusTraversalPolicy()Container.setFocusCycleRoot(boolean)Container.isFocusCycleRoot(java.awt.Container)Container.setFocusTraversalPolicyProvider(boolean)Container.isFocusTraversalPolicyProvider()KeyboardFocusManager.setDefaultFocusTraversalPolicy(java.awt.FocusTraversalPolicy)KeyboardFocusManager.getDefaultFocusTraversalPolicy()
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создает FocusTraversalPolicy. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract Component |
getComponentAfter |
Возвращает компонент, который должен получить фокус после aComponent. |
abstract Component |
getComponentBefore |
Возвращает компонент, который должен получить фокус перед aComponent. |
abstract Component |
getDefaultComponent |
Возвращает стандартный компонент для фокуса. |
abstract Component |
getFirstComponent |
Возвращает первый компонент в цикле обхода. |
Component |
getInitialComponent |
Возвращает компонент, который должен получить фокус, когда окно впервые становится видимым. |
abstract Component |
getLastComponent |
Возвращает последний компонент в цикле обхода. |
Подробное описание конструкторов
FocusTraversalPolicy
protected FocusTraversalPolicy()
FocusTraversalPolicy.Подробное описание методов
getComponentAfter
public abstract Component getComponentAfter(Container aContainer, Component aComponent)
- Параметры:
-
aContainer- корень цикла фокуса для aComponent или поставщик политик обхода фокуса -
aComponent- (возможно, косвенный) дочерний элемент aContainer или сам aContainer - Возвращает:
- компонент, который должен получить фокус после aComponent, или null, если подходящий компонент не найден
- Исключения:
-
IllegalArgumentException- если aContainer не является корнем цикла фокуса для aComponent или поставщиком политик обхода фокуса, или если aContainer или aComponent равны null
getComponentBefore
public abstract Component getComponentBefore(Container aContainer, Component aComponent)
- Параметры:
-
aContainer- корень цикла фокуса для aComponent или поставщик политик обхода фокуса -
aComponent- (возможно, косвенный) дочерний элемент aContainer или сам aContainer - Возвращает:
- компонент, который должен получить фокус перед aComponent, или null, если подходящий компонент не найден
- Исключения:
-
IllegalArgumentException- если aContainer не является корнем цикла фокуса для aComponent или поставщиком политик обхода фокуса, или если aContainer или aComponent равны null
getFirstComponent
public abstract Component getFirstComponent(Container aContainer)
- Параметры:
-
aContainer- корень цикла фокуса или поставщик политик обхода фокуса, первый компонент которого должен быть возвращен - Возвращает:
- первый компонент в цикле обхода aContainer, или null, если подходящий компонент не найден
- Исключения:
-
IllegalArgumentException- если aContainer равен null
getLastComponent
public abstract Component getLastComponent(Container aContainer)
- Параметры:
-
aContainer- корень цикла фокуса или поставщик политик обхода фокуса, последний компонент которого должен быть возвращен - Возвращает:
- последний компонент в цикле обхода aContainer, или null, если подходящий компонент не найден
- Исключения:
-
IllegalArgumentException- если aContainer равен null
getDefaultComponent
public abstract Component getDefaultComponent(Container aContainer)
- Параметры:
-
aContainer- корень цикла фокуса или поставщик политик обхода фокуса, стандартный компонент которого должен быть возвращен - Возвращает:
- стандартный компонент в цикле обхода aContainer, или null, если подходящий компонент не найден
- Исключения:
-
IllegalArgumentException- если aContainer равен null
getInitialComponent
public Component getInitialComponent(Window window)
show() или setVisible(true), начальный компонент больше не будет использоваться. Вместо этого, если окно теряет и затем снова получает фокус, или становится невидимым или неотображаемым, а затем снова видимым и отображаемым, последний компонент, получивший фокус в окне, станет собственником фокуса. Умолчательная реализация этого метода возвращает стандартный компонент.- Параметры:
-
window- окно, начальный компонент которого должен быть возвращен - Возвращает:
- компонент, который должен получить фокус, когда окно становится видимым в первый раз, или null, если подходящий компонент не найден
- Исключения:
-
IllegalArgumentException- если окно равно null - См. также:
© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.desktop/java/awt/FocusTraversalPolicy.html