Spec-Zone.ru › OpenJDK 25

Класс FocusTraversalPolicy

java.lang.Object
java.awt.FocusTraversalPolicy
Прямые известные подклассы:
ContainerOrderFocusTraversalPolicy, InternalFrameFocusTraversalPolicy
public abstract class FocusTraversalPolicy extends Object
FocusTraversalPolicy определяет порядок обхода компонентов с определенным корнем цикла обхода фокуса. Экземпляры могут применять политику к произвольным корням цикла обхода фокуса, что позволяет использовать их совместно несколькими контейнерами. Их не нужно повторно инициализировать при изменении корней циклов обхода фокуса в иерархии компонентов.

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

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

Дополнительную информацию см. в разделе «Использование подсистемы фокуса» учебника «Учебник Java», а также в спецификации фокуса.

Начиная с:
1.4
См. также:
  • Container.setFocusTraversalPolicy(FocusTraversalPolicy)
  • Container.getFocusTraversalPolicy()
  • Container.setFocusCycleRoot(boolean)
  • Container.isFocusCycleRoot(Container)
  • Container.setFocusTraversalPolicyProvider(boolean)
  • Container.isFocusTraversalPolicyProvider()
  • KeyboardFocusManager.setDefaultFocusTraversalPolicy(FocusTraversalPolicy)
  • KeyboardFocusManager.getDefaultFocusTraversalPolicy()

Краткое описание конструкторов

FocusTraversalPolicy()
Модификатор Конструктор Описание
protected
Создает FocusTraversalPolicy.

Краткое описание методов

Модификатор и тип Метод Описание
abstract Component getComponentAfter(Container aContainer, Component aComponent)
Возвращает компонент, который должен получить фокус после aComponent. aContainer должен быть корнем цикла обхода фокуса для aComponent или поставщиком политики обхода фокуса.
abstract Component getComponentBefore(Container aContainer, Component aComponent)
Возвращает компонент, который должен получить фокус перед aComponent. aContainer должен быть корнем цикла обхода фокуса для aComponent или поставщиком политики обхода фокуса.
abstract Component getDefaultComponent(Container aContainer)
Возвращает компонент, на который следует установить фокус по умолчанию.
abstract Component getFirstComponent(Container aContainer)
Возвращает первый компонент в цикле обхода.
Component getInitialComponent(Window window)
Возвращает компонент, который должен получить фокус при первом отображении окна.
abstract Component getLastComponent(Container aContainer)
Возвращает последний компонент в цикле обхода.

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

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

Подробное описание конструкторов

FocusTraversalPolicy

protected FocusTraversalPolicy()
Создает 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 — если window равен null
См. также:
  • getDefaultComponent(Container)
  • Window.getMostRecentFocusOwner()

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе документации Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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/FocusTraversalPolicy.html

Spec-Zone.ru

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