Класс DefaultFocusTraversalPolicy
- java.lang.Object
-
- java.awt.FocusTraversalPolicy
-
- java.awt.ContainerOrderFocusTraversalPolicy
-
- java.awt.DefaultFocusTraversalPolicy
- Все реализованные интерфейсы:
- Serializable
public class DefaultFocusTraversalPolicy extends ContainerOrderFocusTraversalPolicy
Политика прохода по фокусу, определяющая порядок прохода на основе порядка дочерних компонентов в контейнере. Из определённой корневой точки цикла фокуса политика выполняет обход иерархии компонентов в порядке обхода и прохода по дочерним элементам контейнера в соответствии с порядком элементов в массиве, возвращаемом Container.getComponents(). Части иерархии, которые не видны и не отображаются, не будут обрабатываться.
Если клиентский код явно установил фокусируемость компонента, переопределив Component.isFocusTraversable() или Component.isFocusable(), или вызвав Component.setFocusable(), то DefaultFocusTraversalPolicy ведёт себя точно так же, как ContainerOrderFocusTraversalPolicy. Однако, если компонент полагается на стандартную фокусируемость, то DefaultFocusTraversalPolicy отклонит все компоненты с нефокусируемыми элементами-представителями. Это политика прохода по фокусу по умолчанию для всех контейнеров AWT.
Фокусируемость элемента-представителя зависит от реализации. Sun рекомендует, чтобы все реализации для определённой платформы создавали элементы-представители с одинаковой фокусируемостью. Рекомендации для Windows и Unix таковы: Canvas, Label, Panel, Scrollbar, ScrollPane, Window и лёгкие компоненты имеют нефокусируемые элементы-представители, а все остальные компоненты имеют фокусируемые элементы-представители. Эти рекомендации используются в реализациях 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(), то компонент будет принят только в том случае, если он фокусируемый. Если же компонент полагается на стандартную фокусируемость, то все Canvas, Label, Panel, Scrollbar, ScrollPane, Window и лёгкие компоненты будут отклонены.
- Переопределяет:
-
acceptв классеContainerOrderFocusTraversalPolicy - Параметры:
-
aComponent- компонент, чья пригодность в качестве владельца фокуса проверяется - Возвращает:
-
trueесли aComponent соответствует вышеуказанным требованиям;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.