|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.awt
类 ContainerOrderFocusTraversalPolicy
java.lang.Object java.awt.FocusTraversalPolicy java.awt.ContainerOrderFocusTraversalPolicy
- 所有已实现的接口:
- Serializable
- 直接已知子类:
- DefaultFocusTraversalPolicy
-
public class ContainerOrderFocusTraversalPolicy
- extends FocusTraversalPolicy
- implements Serializable
根据 Container 中的子 Component 的顺序确定遍历顺序的 FocusTraversalPolicy。该策略将从特定焦点循环根对 Component 层次结构进行前序遍历,并根据 Container.getComponents()
返回的数组顺序遍历 Container 的子容器。不可视和不可显示的部分层次结构将不被搜索。
默认情况下,ContainerOrderFocusTraversalPolicy 会隐式将焦点传递给下一个循环。也就是说,在进行普通正向焦点遍历期间,在焦点循环根后面遍历的 Component 将成为焦点循环根默认拥有焦点的 Component。可以使用 setImplicitDownCycleTraversal
方法禁用此行为。
默认情况下,只有 Component 是可视的、可显示的、被启用的和可聚焦的时候,此类的方法才返回此 Component。子类可以通过重写 accept
方法修改此行为。
此策略需要考虑焦点遍历策略提供者。在搜索第一个/最后一个/下一个/前一个 Component 时,如果遇到一个焦点遍历策略提供者,则使用其焦点遍历策略来执行搜索操作。
- 从以下版本开始:
- 1.4
- 另请参见:
-
Container.getComponents()
, 序列化表格
构造方法摘要 | |
---|---|
ContainerOrderFocusTraversalPolicy() |
方法摘要 | |
---|---|
protected boolean |
accept(Component aComponent) 确定是否可以接受选择某个 Component 作为新的焦点拥有者。 |
Component |
getComponentAfter(Container aContainer, Component aComponent) 返回应该接收 aComponent 后面的焦点的 Component。 |
Component |
getComponentBefore(Container aContainer, Component aComponent) 返回应该接收 aComponent 前面的焦点的 Component。 |
Component |
getDefaultComponent(Container aContainer) 返回默认拥有焦点的 Component。 |
Component |
getFirstComponent(Container aContainer) 返回遍历循环中的第一个 Component。 |
boolean |
getImplicitDownCycleTraversal() 返回对此 ContainerOrderFocusTraversalPolicy 是否隐式将焦点传递给下一个循环的判断。 |
Component |
getLastComponent(Container aContainer) 返回遍历循环中的最后一个 Component。 |
void |
setImplicitDownCycleTraversal(boolean implicitDownCycleTraversal) 设置此 ContainerOrderFocusTraversalPolicy 是否隐式将焦点传递给下一个循环。 |
从类 java.awt.FocusTraversalPolicy 继承的方法 |
---|
getInitialComponent |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
ContainerOrderFocusTraversalPolicy
public ContainerOrderFocusTraversalPolicy()
方法详细信息 |
---|
getComponentAfter
public Component getComponentAfter(Container aContainer, Component aComponent)
-
返回应该接收 aComponent 后面的焦点的 Component。aContainer 必须是 aComponent 的焦点循环根,或者是一个焦点遍历策略提供者。
默认情况下,ContainerOrderFocusTraversalPolicy 会隐式将焦点传递给下一个循环。也就是说,在进行普通正向焦点遍历期间,在焦点循环根后面遍历的 Component 将成为焦点循环根默认拥有焦点的 Component。可以使用
setImplicitDownCycleTraversal
方法禁用此行为。如果 aContainer 是焦点遍历策略提供者,则总是将焦点传递到下一个循环。
-
- 指定者:
-
类
FocusTraversalPolicy
中的getComponentAfter
-
- 参数:
-
aContainer
- aComponent 的一个焦点循环根或者一个焦点遍历策略提供者 -
aComponent
- aContainer 的一个(可能间接的)子代,或者 aContainer 自身 - 返回:
- 应该接受 aComponent 后面的焦点的 Component,如果没有找到合适的 Component,则返回 null
- 抛出:
-
IllegalArgumentException
- 如果 aContainer 不是 aComponent 的焦点循环根或者焦点遍历策略提供者,或者 aContainer 或 aComponent 为 null
getComponentBefore
public Component getComponentBefore(Container aContainer, Component aComponent)
- 返回应该接收 aComponent 前面的焦点的 Component。aContainer 必须是 aComponent 的焦点循环根,或者是一个焦点遍历策略提供者。
-
- 指定者:
-
类
FocusTraversalPolicy
中的getComponentBefore
-
- 参数:
-
aContainer
- aComponent 的一个焦点循环根或者一个焦点遍历策略提供者 -
aComponent
- aContainer 的一个(可能间接的)子代,或者 aContainer 自身 - 返回:
- 应该接受 aComponent 前面的焦点的 Component,如果没有找到合适的 Component,则返回 null
- 抛出:
-
IllegalArgumentException
- 如果 aContainer 不是 aComponent 的焦点循环根或者焦点遍历策略提供者,或者 aContainer 或 aComponent 为 null
getFirstComponent
public Component getFirstComponent(Container aContainer)
- 返回遍历循环中的第一个 Component。在进行正向遍历时,可用此方法确定拥有焦点的下一个 Component。
-
- 指定者:
-
类
FocusTraversalPolicy
中的getFirstComponent
-
- 参数:
-
aContainer
- 将返回其第一个 Component 的焦点循环根或焦点遍历策略提供者 - 返回:
- aContainer 的遍历循环中的第一个 Component,如果没有找到合适的 Component,则返回 null
- 抛出:
-
IllegalArgumentException
- 如果 aContainer 为 null
getLastComponent
public Component getLastComponent(Container aContainer)
- 返回遍历循环中的最后一个 Component。在进行反向遍历时,可用此方法确定拥有焦点的下一个 Component。
-
- 指定者:
-
类
FocusTraversalPolicy
中的getLastComponent
-
- 参数:
-
aContainer
- 将返回其最后一个 Component 的焦点循环根或焦点遍历策略提供者 - 返回:
- aContainer 的遍历循环中的最后一个 Component,如果没有找到合适的 Component,则返回 null
- 抛出:
-
IllegalArgumentException
- 如果 aContainer 为 null
getDefaultComponent
public Component getDefaultComponent(Container aContainer)
-
返回默认拥有焦点的 Component。在向下遍历到以 aContainer 为根的新焦点遍历循环时,此 Component 将是第一个接受焦点的 Component。此方法的默认实现将返回与
getFirstComponent
相同的 Component。 -
- 指定者:
-
类
FocusTraversalPolicy
中的getDefaultComponent
-
- 参数:
-
aContainer
- 将返回其默认 Component 的焦点循环根或焦点遍历策略提供者 - 返回:
- aContainer 的遍历循环中的默认 Component,如果没有找到合适的 Component,则返回 null
- 抛出:
-
IllegalArgumentException
- 如果 aContainer 为 null - 另请参见:
-
getFirstComponent(java.awt.Container)
setImplicitDownCycleTraversal
public void setImplicitDownCycleTraversal(boolean implicitDownCycleTraversal)
-
设置此 ContainerOrderFocusTraversalPolicy 是否隐式将焦点传递给下一个循环。如果设置为
true
,则在进行普通正向焦点遍历期间,在焦点循环根后面遍历的 Component 将成为焦点循环根默认拥有焦点的 Component。如果设置为false
,则将遍历根植在指定焦点循环根的焦点遍历循环中的下一个 Component。此属性的默认值为true
。 -
-
- 参数:
-
implicitDownCycleTraversal
- 此 ContainerOrderFocusTraversalPolicy 是否隐式将焦点传递给下一个循环 - 另请参见:
-
getImplicitDownCycleTraversal()
,getFirstComponent(java.awt.Container)
getImplicitDownCycleTraversal
public boolean getImplicitDownCycleTraversal()
-
返回对此 ContainerOrderFocusTraversalPolicy 是否隐式将焦点传递给下一个循环的判断。如果返回
true
,则在进行普通正向焦点遍历期间,在焦点循环根后面遍历的 Component 将成为焦点循环根默认拥有焦点的 Component。如果返回false
,则将遍历根植在指定焦点循环根上的焦点遍历循环中的下一个 Component。 -
-
- 返回:
- 此 ContainerOrderFocusTraversalPolicy 是否隐式将焦点传递给下一个循环
- 另请参见:
-
setImplicitDownCycleTraversal(boolean)
,getFirstComponent(java.awt.Container)