Класс FocusTraversalPolicy

Прямые известные подклассы:
ContainerOrderFocusTraversalPolicy, InternalFrameFocusTraversalPolicy
public abstract class FocusTraversalPolicy
extends Object

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

Основная ответственность 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()

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

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

Методы

Модификатор и тип Метод Описание
abstract Component getComponentAfter​(Container aContainer, Component aComponent)

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

abstract Component getComponentBefore​(Container aContainer, Component aComponent)

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

abstract Component getDefaultComponent​(Container aContainer)

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

abstract Component getFirstComponent​(Container aContainer)

Возвращает первый компонент в цикле просмотра.

Component getInitialComponent​(Window window)

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

abstract Component getLastComponent​(Container aContainer)

Возвращает последний компонент в цикле просмотра.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

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

FocusTraversalPolicy

public FocusTraversalPolicy()

Методы

getComponentAfter

public abstract Component getComponentAfter(Container aContainer,
                                            Component aComponent)

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

Параметры:
aContainer - корневой элемент цикла фокусировки aComponent или поставщик политики просмотра фокуса
aComponent - (возможно, косвенный) дочерний элемент aContainer или сам aContainer
Возвращает:
компонент, который должен получить фокус после aComponent, или null, если подходящий компонент не найден
Исключения:
IllegalArgumentException - если aContainer не является корневым элементом цикла фокусировки aComponent или поставщиком политики просмотра фокуса, или если aContainer или aComponent равны null

getComponentBefore

public abstract Component getComponentBefore(Container aContainer,
                                             Component aComponent)

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

getInitialComponent

public Component getInitialComponent(Window window)

Возвращает компонент, который должен получить фокус, когда окно становится видимым впервые. После того, как окно стало видимым с помощью вызова show() или setVisible(true), начальный компонент больше не будет использоваться. Вместо этого, если окно потеряет и затем снова получит фокус, или станет невидимым или неотображаемым, а затем снова видимым и отображаемым, последний сфокусированный компонент окна станет владельцем фокуса. Стандартная реализация этого метода возвращает стандартный компонент.

Параметры:
window - окно, начальный компонент которого должен быть возвращен
Возвращает:
компонент, который должен получить фокус, когда окно становится видимым впервые, или null, если подходящий компонент не найден
Исключения:
IllegalArgumentException - если окно равно null
См. также:
getDefaultComponent(java.awt.Container), Window.getMostRecentFocusOwner()

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

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