java.lang.Object
java.awt.FocusTraversalPolicy
java.awt.ContainerOrderFocusTraversalPolicy
- 所有已实现的接口:
Serializable
public class ContainerOrderFocusTraversalPolicy extends FocusTraversalPolicy implements Serializable
FocusTraversalPolicy,它根据容器中子组件的顺序确定遍历顺序。从特定的焦点循环根开始,策略对组件层次结构进行预序遍历,并根据
Container.getComponents() 返回的数组的顺序遍历容器的子项。不可见和不可显示的层次结构部分将不会被搜索。
默认情况下,ContainerOrderFocusTraversalPolicy 隐式转移焦点向下循环。也就是说,在正常的前向焦点遍历过程中,在焦点循环根之后遍历的组件将是焦点循环根的默认组件。可以使用 setImplicitDownCycleTraversal 方法禁用此行为。
默认情况下,此类的方法只有在可见、可显示、启用和可聚焦时才会返回组件。子类可以通过覆盖 accept 方法来修改此行为。
该策略考虑到了 焦点遍历策略提供者 。在搜索 first/last/next/previous Component 时,如果遇到焦点遍历策略提供者,则使用其焦点遍历策略来执行搜索操作。
- 自从:
- 1.4
- 参见:
-
构造方法总结
构造方法 -
方法总结
修饰符和类型方法描述protected boolean确定 Component 作为新的焦点所有者是否是可接受的选择。getComponentAfter(Container aContainer, Component aComponent) 返回应在 aComponent 之后接收焦点的 Component。getComponentBefore(Container aContainer, Component aComponent) 返回应在 aComponent 之前获得焦点的 Component。getDefaultComponent(Container aContainer) 返回要聚焦的默认组件。getFirstComponent(Container aContainer) 返回遍历循环中的第一个 Component。boolean返回此 ContainerOrderFocusTraversalPolicy 是否隐式转移焦点。getLastComponent(Container aContainer) 返回遍历循环中的最后一个 Component。voidsetImplicitDownCycleTraversal(boolean implicitDownCycleTraversal) 设置此 ContainerOrderFocusTraversalPolicy 是否隐式转移焦点。在类 java.awt.FocusTraversalPolicy 中声明的方法
getInitialComponent
-
构造方法详细信息
-
ContainerOrderFocusTraversalPolicy
public ContainerOrderFocusTraversalPolicy()构造一个ContainerOrderFocusTraversalPolicy
-
-
方法详情
-
getComponentAfter
返回应在 aComponent 之后接收焦点的 Component。 aContainer 必须是aComponent 的焦点循环根或焦点遍历策略提供者。默认情况下,ContainerOrderFocusTraversalPolicy 隐式转移焦点向下循环。也就是说,在正常的前向焦点遍历期间,在焦点循环根之后遍历的组件将是焦点循环根的默认组件以进行焦点。可以使用
setImplicitDownCycleTraversal方法禁用此行为。如果 aContainer 是 焦点遍历策略提供者 ,焦点总是向下转移。
- 指定者:
getComponentAfter在类FocusTraversalPolicy中- 参数:
aContainer- aComponent 的焦点循环根或焦点遍历策略提供者aComponent- 容器的(可能是间接的)子容器,或容器本身- 返回:
- 在 aComponent 之后应该获得焦点的 Component,如果找不到合适的 Component,则返回 null
- 抛出:
IllegalArgumentException- 如果 aContainer 不是 aComponent 或焦点遍历策略提供者的焦点循环根,或者如果 aContainer 或 aComponent 为空
-
getComponentBefore
返回应在 aComponent 之前获得焦点的 Component。 aContainer 必须是 aComponent 或 焦点遍历策略提供者 的焦点循环根。- 指定者:
getComponentBefore在类FocusTraversalPolicy中- 参数:
aContainer- aComponent 的焦点循环根或焦点遍历策略提供者aComponent- 容器的(可能是间接的)子容器,或容器本身- 返回:
- 应在 aComponent 之前获得焦点的 Component,如果找不到合适的 Component,则返回 null
- 抛出:
IllegalArgumentException- 如果 aContainer 不是 aComponent 或焦点遍历策略提供者的焦点循环根,或者如果 aContainer 或 aComponent 为空
-
getFirstComponent
返回遍历循环中的第一个 Component。此方法用于确定下一个 Component 在正向遍历时获得焦点。- 指定者:
getFirstComponent在类FocusTraversalPolicy中- 参数:
aContainer- 要返回其第一个组件的焦点循环根或焦点遍历策略提供者- 返回:
- aContainer 遍历循环中的第一个 Component,如果找不到合适的 Component,则返回 null
- 抛出:
IllegalArgumentException- 如果 aContainer 为空
-
getLastComponent
返回遍历循环中的最后一个 Component。此方法用于确定下一个 Component 在反向遍历时获得焦点。- 指定者:
getLastComponent在类FocusTraversalPolicy中- 参数:
aContainer- 要返回其最后一个组件的焦点循环根或焦点遍历策略提供者- 返回:
- aContainer 遍历循环中的最后一个 Component,如果找不到合适的 Component,则返回 null
- 抛出:
IllegalArgumentException- 如果 aContainer 为空
-
getDefaultComponent
返回要聚焦的默认组件。当向下遍历到以 aContainer 为根的新焦点遍历循环时,此 Component 将是第一个获得焦点的。此方法的默认实现返回与getFirstComponent相同的组件。- 指定者:
getDefaultComponent在类FocusTraversalPolicy中- 参数:
aContainer- 要返回其默认组件的焦点循环根或焦点遍历策略提供程序- 返回:
- aContainer 遍历循环中的默认 Component,如果找不到合适的 Component,则返回 null
- 抛出:
IllegalArgumentException- 如果 aContainer 为空- 参见:
-
setImplicitDownCycleTraversal
public void setImplicitDownCycleTraversal(boolean implicitDownCycleTraversal) 设置此 ContainerOrderFocusTraversalPolicy 是否隐式转移焦点。如果true,在正常的正向焦点遍历期间,在焦点循环根之后遍历的组件将是焦点循环根的默认要聚焦的组件。如果为false,则将遍历以指定焦点循环根为根的焦点遍历循环中的下一个 Component。此属性的默认值为true。- 参数:
implicitDownCycleTraversal- 此 ContainerOrderFocusTraversalPolicy 是否隐式转移焦点向下循环- 参见:
-
getImplicitDownCycleTraversal
public boolean getImplicitDownCycleTraversal()返回此 ContainerOrderFocusTraversalPolicy 是否隐式转移焦点。如果true,在正常的正向焦点遍历期间,在焦点循环根之后遍历的组件将是焦点循环根的默认要聚焦的组件。如果为false,则将遍历以指定焦点循环根为根的焦点遍历循环中的下一个 Component。- 返回:
- 此 ContainerOrderFocusTraversalPolicy 是否隐式转移焦点向下循环
- 参见:
-
accept
确定 Component 作为新的焦点所有者是否是可接受的选择。默认情况下,当且仅当组件可见、可显示、启用和可聚焦时,此方法才会接受组件。- 参数:
aComponent- 要测试其作为焦点所有者的适用性的组件- 返回:
true如果 aComponent 可见、可显示、启用且可聚焦;false否则
-