|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
javax.swing
类 SortingFocusTraversalPolicy
java.lang.Object java.awt.FocusTraversalPolicy javax.swing.InternalFrameFocusTraversalPolicy javax.swing.SortingFocusTraversalPolicy
- 直接已知子类:
- LayoutFocusTraversalPolicy
-
public class SortingFocusTraversalPolicy
- extends InternalFrameFocusTraversalPolicy
通过对焦点遍历循环的 Components 按给定 Comparator 排序确定遍历顺序的 FocusTraversalPolicy。不可视和不可显示的 Component 层次结构部分将不被包含。
默认情况下,SortingFocusTraversalPolicy 会隐式将焦点传输给下一个循环。也就是说,在进行正常焦点遍历期间,在焦点循环根后面遍历的 Component 将成为焦点循环根默认拥有焦点的 Component。可以使用 setImplicitDownCycleTraversal
方法禁用此行为。
默认情况下,只有 Component 是可视的、可显示的、被启用的和可聚焦的时候,此类的方法才返回此 Component。子类可以通过重写 accept
方法修改此行为。
此策略需要考虑焦点遍历策略提供者。当搜索第一个/最后一个/下一个/上一个 Component 时,如果遇到焦点遍历策略提供者,则使用该焦点遍历策略来执行搜索操作。
- 从以下版本开始:
- 1.4
- 另请参见:
Comparator
构造方法摘要 | |
---|---|
protected |
SortingFocusTraversalPolicy() 构造一个不带 Comparator 的 SortingFocusTraversalPolicy。 |
|
SortingFocusTraversalPolicy(Comparator<? super Component> comparator) 构造具有指定 Comparator 的 SortingFocusTraversalPolicy。 |
方法摘要 | |
---|---|
protected boolean |
accept(Component aComponent) 确定是否可以接受选择某个 Component 作为新的焦点拥有者。 |
protected Comparator<? super Component> |
getComparator() 返回将用于对焦点遍历循环中的 Components 排序的 Comparator。 |
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() 返回对此 SortingFocusTraversalPolicy 是否隐式将焦点传输给下一个循环的判断。 |
Component |
getLastComponent(Container aContainer) 返回遍历循环中的最后一个 Component。 |
protected void |
setComparator(Comparator<? super Component> comparator) 设置将用于对焦点遍历循环中的 Components 排序的 Comparator。 |
void |
setImplicitDownCycleTraversal(boolean implicitDownCycleTraversal) 设置此 SortingFocusTraversalPolicy 是否隐式将焦点传输给下一个循环。 |
从类 javax.swing.InternalFrameFocusTraversalPolicy 继承的方法 |
---|
getInitialComponent |
从类 java.awt.FocusTraversalPolicy 继承的方法 |
---|
getInitialComponent |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
SortingFocusTraversalPolicy
protected SortingFocusTraversalPolicy()
-
构造一个不带 Comparator 的 SortingFocusTraversalPolicy。在焦点循环根或 KeyboardFocusManager 上安装此 FocusTraversalPolicy 之前,子类必须用
setComparator
设置 Comparator。
SortingFocusTraversalPolicy
public SortingFocusTraversalPolicy(Comparator<? super Component> comparator)
- 构造具有指定 Comparator 的 SortingFocusTraversalPolicy。
方法详细信息 |
---|
getComponentAfter
public Component getComponentAfter(Container aContainer, Component aComponent)
-
返回应该接收 aComponent 后面的焦点的 Component。aContainer 必须是 aComponent 的焦点循环根,或者是一个焦点遍历策略提供者。
默认情况下,SortingFocusTraversalPolicy 会隐式将焦点传输给下一个循环。也就是说,在进行正常焦点遍历期间,在焦点循环根后面遍历的 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 的焦点循环根,或者是一个焦点遍历策略提供者。
默认情况下,SortingFocusTraversalPolicy 会隐式将焦点传输给下一个循环。也就是说,在进行正常焦点遍历期间,在焦点循环根后面遍历的 Component 将成为焦点循环根默认拥有焦点的 Component。可以使用
setImplicitDownCycleTraversal
方法禁用此行为。如果 aContainer 是焦点遍历策略提供者,则总是将焦点传输到下一个循环。
-
- 指定者:
-
类
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 的 aComponent 的焦点循环根,或焦点遍历策略提供者- 返回:
- aContainer 的遍历循环中的第一个 Component,如果无法找到合适的 Component,则返回 null
- 抛出:
IllegalArgumentException
- 如果 aContainer 为 null
getLastComponent
public Component getLastComponent(Container aContainer)
- 返回遍历循环中的最后一个 Component。在进行反向遍历时,可用此方法确定拥有焦点的下一个 Component。
-
- 指定者:
-
类
FocusTraversalPolicy
中的getLastComponent
-
- 参数:
aContainer
- 要返回其最后一个 Component 的 aComponent 的焦点循环根,或焦点遍历策略提供者- 返回:
- aContainer 的遍历循环中的最后一个 Component,如果无法找到合适的 Component,则返回 null
- 抛出:
IllegalArgumentException
- 如果 aContainer 为 null
getDefaultComponent
public Component getDefaultComponent(Container aContainer)
-
返回默认拥有焦点的 Component。在向下遍历到以 aContainer 为根的新焦点遍历循环时,此 Component 将是第一个接受焦点的 Component。此方法的默认实现将返回与
getFirstComponent
相同的 Component。 -
- 指定者:
-
类
FocusTraversalPolicy
中的getDefaultComponent
-
- 参数:
aContainer
- 将返回其默认 Component 的 aComponent 的焦点循环根或焦点遍历策略提供者- 返回:
- aContainer 的遍历循环中的默认 Component,如果没有找到合适的 Component,则返回 null
- 抛出:
IllegalArgumentException
- 如果 aContainer 为 null- 另请参见:
getFirstComponent(java.awt.Container)
setImplicitDownCycleTraversal
public void setImplicitDownCycleTraversal(boolean implicitDownCycleTraversal)
-
设置此 SortingFocusTraversalPolicy 是否隐式将焦点传输给下一个循环。如果返回
true
,则在进行正常焦点遍历期间,在焦点循环根后面遍历的 Component 将成为焦点循环根默认拥有焦点的 Component。如果返回false
,则将遍历根植在指定焦点循环上的焦点遍历循环中的下一个 Component。此属性的默认值为true
。 -
- 参数:
implicitDownCycleTraversal
- 此 SortingFocusTraversalPolicy 是否隐式将焦点传输给下一个循环- 另请参见:
getImplicitDownCycleTraversal()
,getFirstComponent(java.awt.Container)