java.lang.Object
java.awt.FocusTraversalPolicy
javax.swing.InternalFrameFocusTraversalPolicy
javax.swing.SortingFocusTraversalPolicy
javax.swing.LayoutFocusTraversalPolicy
- 所有已实现的接口:
-
Serializable
基于组件的大小、位置和方向对组件进行排序的SortingFocusTraversalPolicy。根据它们的大小和位置,组件大致分为行和列。对于水平方向的容器,列从左到右或从右到左排列,行从上到下排列。对于垂直方向的容器,列从上到下排列,行从左到右或从右到左排列。有关更多信息,请参阅
ComponentOrientation
。在进行下一行之前,必须完全遍历一行中的所有列。
- 自版本:
- 1.4
- 参见:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
确定指定的Component
是否适合作为新的焦点所有者。getComponentAfter
(Container aContainer, Component aComponent) 返回在aComponent之后应该接收焦点的组件。getComponentBefore
(Container aContainer, Component aComponent) 返回在aComponent之前应该接收焦点的组件。getFirstComponent
(Container aContainer) 返回遍历循环中的第一个组件。getLastComponent
(Container aContainer) 返回遍历循环中的最后一个组件。Methods declared in class javax.swing.SortingFocusTraversalPolicy
getComparator, getDefaultComponent, getImplicitDownCycleTraversal, setComparator, setImplicitDownCycleTraversal
Methods declared in class javax.swing.InternalFrameFocusTraversalPolicy
getInitialComponent
Methods declared in class java.awt.FocusTraversalPolicy
getInitialComponent
-
Constructor Details
-
LayoutFocusTraversalPolicy
public LayoutFocusTraversalPolicy()构造一个LayoutFocusTraversalPolicy。
-
-
Method Details
-
getComponentAfter
返回在aComponent之后应该接收焦点的组件。aContainer必须是aComponent的焦点循环根。默认情况下,LayoutFocusTraversalPolicy隐式地向下传递焦点循环。也就是说,在正常的焦点遍历过程中,焦点循环根之后遍历的组件将是焦点循环根的默认焦点组件。可以使用
setImplicitDownCycleTraversal
方法禁用此行为。如果aContainer是焦点遍历策略提供者,则焦点始终向下传递。
- 覆盖:
-
getComponentAfter
在类中SortingFocusTraversalPolicy
- 参数:
-
aContainer
- aComponent的焦点循环根或焦点遍历策略提供者 -
aComponent
- aContainer的(可能间接的)子级,或aContainer本身 - 返回:
- 在aComponent之后应该接收焦点的组件,如果找不到合适的组件则返回null
- 抛出:
-
IllegalArgumentException
- 如果aContainer不是aComponent的焦点循环根或焦点遍历策略提供者,或者aContainer或aComponent为null
-
getComponentBefore
返回在aComponent之前应该接收焦点的组件。aContainer必须是aComponent的焦点循环根。默认情况下,LayoutFocusTraversalPolicy隐式地向下传递焦点循环。也就是说,在正常的焦点遍历过程中,焦点循环根之后遍历的组件将是焦点循环根的默认焦点组件。可以使用
setImplicitDownCycleTraversal
方法禁用此行为。如果aContainer是焦点遍历策略提供者,则焦点始终向下传递。
- 覆盖:
-
getComponentBefore
在类中SortingFocusTraversalPolicy
- 参数:
-
aContainer
- aComponent的焦点循环根或焦点遍历策略提供者 -
aComponent
- aContainer的(可能间接的)子级,或aContainer本身 - 返回:
- 在aComponent之前应该接收焦点的组件,如果找不到合适的组件则返回null
- 抛出:
-
IllegalArgumentException
- 如果aContainer不是aComponent的焦点循环根或焦点遍历策略提供者,或者aContainer或aComponent为null
-
getFirstComponent
返回遍历循环中的第一个组件。当遍历在正向方向上环绕时,使用此方法确定下一个要聚焦的组件。- 覆盖:
-
getFirstComponent
在类中SortingFocusTraversalPolicy
- 参数:
-
aContainer
- aComponent的焦点循环根或焦点遍历策略提供者,要返回其第一个组件的容器 - 返回:
- aContainer中遍历循环的第一个组件,如果找不到合适的组件则返回null
- 抛出:
-
IllegalArgumentException
- 如果aContainer为null
-
getLastComponent
返回遍历循环中的最后一个组件。当遍历在反向方向上环绕时,使用此方法确定下一个要聚焦的组件。- 覆盖:
-
getLastComponent
在类中SortingFocusTraversalPolicy
- 参数:
-
aContainer
- aComponent的焦点循环根或焦点遍历策略提供者,要返回其最后一个组件的容器 - 返回:
- aContainer中遍历循环的最后一个组件,如果找不到合适的组件则返回null
- 抛出:
-
IllegalArgumentException
- 如果aContainer为null
-
accept
确定指定的Component
是否适合作为新的焦点所有者。此方法执行以下操作序列:- 检查
aComponent
是否可见、可显示、已启用和可聚焦。如果其中任何属性为false
,则此方法返回false
。 - 如果
aComponent
是JTable
的实例,则返回true
。 - 如果
aComponent
是JComboBox
的实例,则返回aComponent.getUI().isFocusTraversable(aComponent)
的值。 - 如果
aComponent
是具有既不为null
也不为空的JComponent.WHEN_FOCUSED
InputMap
的JComponent
实例,则返回true
。 - 返回
DefaultFocusTraversalPolicy.accept(aComponent)
的值。
- 覆盖:
-
accept
在类中SortingFocusTraversalPolicy
- 参数:
-
aComponent
- 要测试其作为焦点所有者的适合性的Component
- 返回:
-
如果
aComponent
是焦点所有者的有效选择,则返回true
;否则返回false
- 参见:
- 检查
-