Класс DefaultFocusTraversalPolicy
- java.lang.Object
-
- java.awt.FocusTraversalPolicy
-
- java.awt.ContainerOrderFocusTraversalPolicy
-
- java.awt.DefaultFocusTraversalPolicy
- Все реализованные интерфейсы:
Serializable
public class DefaultFocusTraversalPolicy extends ContainerOrderFocusTraversalPolicy
Класс FocusTraversalPolicy, определяющий порядок обхода на основе порядка дочерних компонентов в контейнере. Из заданной корневой точки цикла фокуса политика выполняет предварительный обход иерархии компонентов и обходит детей контейнера в соответствии с порядком массива, возвращаемого Container.getComponents(). Части иерархии, которые не отображаются и не видны, не будут проверяться.
Если клиентский код явно задал фокусируемость компонента, переопределив Component.isFocusTraversable() или Component.isFocusable(), или вызвав Component.setFocusable(), то DefaultFocusTraversalPolicy ведет себя точно так же, как ContainerOrderFocusTraversalPolicy. Однако, если компонент полагается на стандартную фокусируемость, DefaultFocusTraversalPolicy отклонит все компоненты с нефокусируемыми объектами-представителями. Это политика FocusTraversalPolicy по умолчанию для всех контейнеров AWT.
Фокусируемость объекта-представителя зависит от реализации. Sun рекомендует, чтобы все реализации для определенной платформы создавали объекты-представители с одинаковой фокусируемостью. Рекомендации для Windows и Unix заключаются в том, что Canvases, Labels, Panels, Scrollbars, ScrollPanes, Windows и лёгкие компоненты имеют нефокусируемые объекты-представители, а все остальные компоненты имеют фокусируемые объекты-представители. Эти рекомендации используются в реализациях Sun AWT. Обратите внимание, что фокусируемость объекта-представителя компонента отличается от и не влияет на фокусируемость самого компонента.
Дополнительную информацию можно найти в разделе Как использовать подсистему фокуса, в учебном пособии Java, и в Спецификации фокуса.
- С момента:
- 1.4
- См. также:
-
Container.getComponents(),Component.isFocusable(),Component.setFocusable(boolean), Сериализованная форма
Конструкторы
| Конструктор | Описание |
|---|---|
DefaultFocusTraversalPolicy() |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected boolean | accept(Component aComponent) | Определяет, является ли компонент приемлемым выбором в качестве нового владельца фокуса. |
Методы, объявленные в классе java.awt.ContainerOrderFocusTraversalPolicy
getComponentAfter, getComponentBefore, getDefaultComponent, getFirstComponent, getImplicitDownCycleTraversal, getLastComponent, setImplicitDownCycleTraversal Методы, объявленные в классе java.awt.FocusTraversalPolicy
getInitialComponent Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Конструкторы
DefaultFocusTraversalPolicy
public DefaultFocusTraversalPolicy()
Методы
accept
protected boolean accept(Component aComponent)
Определяет, является ли компонент приемлемым выбором в качестве нового владельца фокуса. Компонент должен быть видимым, отображаемым и активным, чтобы быть принятым. Если клиентский код явно установил фокусируемость компонента, переопределив Component.isFocusTraversable() или Component.isFocusable(), или вызвав Component.setFocusable(), то компонент будет принят только в том случае, если он фокусируемый. Однако, если компонент полагается на стандартную фокусируемость, то все Canvases, Labels, Panels, Scrollbars, ScrollPanes, Windows и лёгкие компоненты будут отклонены.
- Переопределяет:
-
acceptв классеContainerOrderFocusTraversalPolicy - Параметры:
-
aComponent- компонент, пригодность которого в качестве владельца фокуса должна быть проверена - Возвращает:
-
trueесли компонент соответствует вышеуказанным требованиям;falseв противном случае
© 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/DefaultFocusTraversalPolicy.html