- java.lang.Object
-
- java.awt.FocusTraversalPolicy
-
- javax.swing.InternalFrameFocusTraversalPolicy
-
- javax.swing.SortingFocusTraversalPolicy
-
- 已知直接子类:
-
LayoutFocusTraversalPolicy
public class SortingFocusTraversalPolicy extends InternalFrameFocusTraversalPolicy
FocusTraversalPolicy,它通过基于给定的比较器对焦点遍历循环的组件进行排序来确定遍历顺序。 将不包括组件层次结构中不可见和可显示的部分。默认情况下,SortingFocusTraversalPolicy隐式地将焦点向下传输。 也就是说,在正常焦点遍历期间,在焦点循环根将成为焦点循环根的默认组件焦点之后,组件遍历。 可以使用
setImplicitDownCycleTraversal
方法禁用此行为。默认情况下,此类的方法仅在可见,可显示,启用和可聚焦时才返回Component。 子类可以通过重写
accept
方法来修改此行为。此政策考虑到focus traversal policy providers 。 搜索第一个/最后一个/下一个/上一个组件时,如果遇到焦点遍历策略提供程序,则使用其焦点遍历策略执行搜索操作。
- 从以下版本开始:
- 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()
返回Comparator,它将用于在焦点遍历循环中对Components进行排序。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)
设置比较器,该比较器将用于在焦点遍历循环中对组件进行排序。void
setImplicitDownCycleTraversal(boolean implicitDownCycleTraversal)
设置此SortingFocusTraversalPolicy是否隐式地向下传递焦点。-
声明方法的类 javax.swing.InternalFrameFocusTraversalPolicy
getInitialComponent
-
声明方法的类 java.awt.FocusTraversalPolicy
getInitialComponent
-
-
-
-
构造方法详细信息
-
SortingFocusTraversalPolicy
protected SortingFocusTraversalPolicy()
构造一个没有Comparator的SortingFocusTraversalPolicy。 在焦点循环根或KeyboardFocusManager上安装此setComparator
之前,子类必须使用setComparator
设置Comparator。
-
SortingFocusTraversalPolicy
public SortingFocusTraversalPolicy(Comparator<? super Component> comparator)
使用指定的Comparator构造SortingFocusTraversalPolicy。- 参数
-
comparator
- 排序方式Comparator
-
-
方法详细信息
-
getComponentAfter
public Component getComponentAfter(Container aContainer, Component aComponent)
返回应在aComponent之后接收焦点的Component。 aContainer必须是aComponent的焦点循环根或焦点遍历策略提供者。默认情况下,SortingFocusTraversalPolicy隐式地将焦点向下传输。 也就是说,在正常焦点遍历期间,在焦点循环根将成为焦点循环根的默认组件焦点之后,组件遍历。 可以使用
setImplicitDownCycleTraversal
方法禁用此行为。如果aContainer为focus traversal policy provider ,则焦点始终向下传输。
- Specified by:
-
getComponentAfter
,课程FocusTraversalPolicy
- 参数
-
aContainer
- aComponent或焦点遍历策略提供程序的焦点循环根 -
aComponent
- aContainer的一个(可能是间接的)子级,或者是一个aComponent
本身 - 结果
- 应该在aComponent之后接收焦点的Component,如果找不到合适的Component,则返回null
- 异常
-
IllegalArgumentException
- 如果aContainer不是aComponent或焦点遍历策略提供程序的焦点循环根,或者aContainer或aComponent为null
-
getComponentBefore
public Component getComponentBefore(Container aContainer, Component aComponent)
返回应在aComponent之前接收焦点的Component。 aContainer必须是aComponent的焦点循环根或焦点遍历策略提供者。默认情况下,SortingFocusTraversalPolicy隐式地将焦点向下传输。 也就是说,在正常焦点遍历期间,在焦点循环根将成为焦点循环根的默认组件焦点之后,组件遍历。 可以使用
setImplicitDownCycleTraversal
方法禁用此行为。如果aContainer为focus traversal policy provider ,则焦点始终向下传输。
- Specified by:
-
getComponentBefore
在课程FocusTraversalPolicy
- 参数
-
aContainer
- aComponent或焦点遍历策略提供程序的焦点循环根 -
aComponent
- aContainer的一个(可能是间接的)子级,或者是一个aComponent
本身 - 结果
- 应该在aComponent之前接收焦点的Component,如果找不到合适的Component,则返回null
- 异常
-
IllegalArgumentException
- 如果aContainer不是aComponent或焦点遍历策略提供程序的焦点循环根,或者aContainer或aComponent为null
-
getFirstComponent
public Component getFirstComponent(Container aContainer)
返回遍历循环中的第一个Component。 此方法用于确定当遍历向前包裹时要聚焦的下一个Component。- Specified by:
-
getFirstComponent
,类FocusTraversalPolicy
- 参数
-
aContainer
- 要返回其第一个Component的aComponent或焦点遍历策略提供程序的焦点循环根 - 结果
- aContainer的遍历循环中的第一个Component,如果找不到合适的Component,则返回null
- 异常
-
IllegalArgumentException
- 如果aContainer为null
-
getLastComponent
public Component getLastComponent(Container aContainer)
返回遍历循环中的最后一个Component。 此方法用于确定当遍历以反向方式换行时要关注的下一个Component。- Specified by:
-
getLastComponent
在类FocusTraversalPolicy
- 参数
-
aContainer
- aComponent的焦点循环根或焦点遍历策略提供程序,其最后一个Component将被返回 - 结果
- aContainer的遍历循环中的最后一个Component,如果找不到合适的Component,则返回null
- 异常
-
IllegalArgumentException
- 如果aContainer为null
-
getDefaultComponent
public Component getDefaultComponent(Container aContainer)
返回要关注的默认Component。 当遍历到以aContainer为根的新焦点遍历循环时,此Component将是第一个获得焦点的组件。 此方法的默认实现返回与getFirstComponent
相同的组件。- Specified by:
-
getDefaultComponent
类FocusTraversalPolicy
- 参数
-
aContainer
- aComponent的焦点循环根或焦点遍历策略提供程序,其默认Component将返回 - 结果
- aContainer的遍历循环中的默认Component,如果找不到合适的Component,则返回null
- 异常
-
IllegalArgumentException
- 如果aContainer为null - 另请参见:
-
getFirstComponent(java.awt.Container)
-
setImplicitDownCycleTraversal
public void setImplicitDownCycleTraversal(boolean implicitDownCycleTraversal)
设置此SortingFocusTraversalPolicy是否隐式地向下传递焦点。 如果是true
,则在正常焦点遍历期间,在焦点循环根之后遍历组件将成为焦点循环根的默认组件。 如果是false
,则将遍历以指定焦点循环根为根的焦点遍历循环中的下一个Component。 此属性的默认值为true
。- 参数
-
implicitDownCycleTraversal
- 此SortingFocusTraversalPolicy是否隐式地向下传递焦点 - 另请参见:
-
getImplicitDownCycleTraversal()
,getFirstComponent(java.awt.Container)
-
getImplicitDownCycleTraversal
public boolean getImplicitDownCycleTraversal()
返回此SortingFocusTraversalPolicy是否隐式地向下传递焦点。 如果是true
,则在正常焦点遍历期间,在焦点循环根之后遍历组件将成为焦点循环根的默认组件。 如果是false
,则将遍历以指定焦点循环根为根的焦点遍历循环中的下一个Component。- 结果
- 此SortingFocusTraversalPolicy是否隐式地向下传递焦点
- 另请参见:
-
setImplicitDownCycleTraversal(boolean)
,getFirstComponent(java.awt.Container)
-
setComparator
protected void setComparator(Comparator<? super Component> comparator)
设置比较器,该比较器将用于在焦点遍历循环中对组件进行排序。- 参数
-
comparator
- 将用于排序的比较器
-
getComparator
protected Comparator<? super Component> getComparator()
返回Comparator,它将用于在焦点遍历循环中对Components进行排序。- 结果
- 将用于排序的比较器
-
accept
protected boolean accept(Component aComponent)
确定Component是否是新焦点所有者可接受的选择。 默认情况下,当且仅当它是可见,可显示,启用和可聚焦时,此方法才会接受Component。- 参数
-
aComponent
- 要测试其作为焦点所有者的适合度的组件 - 结果
-
true
如果aComponent是可见的,可显示的,启用的和可聚焦的; 否则为false
-
-