java.lang.Object
java.awt.FocusTraversalPolicy
javax.swing.InternalFrameFocusTraversalPolicy
javax.swing.SortingFocusTraversalPolicy
javax.swing.LayoutFocusTraversalPolicy
- 所有已实现的接口:
-
Serializable
基于组件的大小、位置和方向对组件进行排序的SortingFocusTraversalPolicy。根据它们的大小和位置,组件大致分为行和列。对于水平方向的容器,列从左到右或从右到左排列,行从上到下排列。对于垂直方向的容器,列从上到下排列,行从左到右或从右到左排列。有关更多信息,请参阅
ComponentOrientation。在进行下一行之前,必须完全遍历一行中的所有列。
- 自版本:
- 1.4
- 参见:
-
Constructor Summary
Constructors -
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, setImplicitDownCycleTraversalMethods declared in class javax.swing.InternalFrameFocusTraversalPolicy
getInitialComponentMethods 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_FOCUSEDInputMap的JComponent实例,则返回true。 - 返回
DefaultFocusTraversalPolicy.accept(aComponent)的值。
- 覆盖:
-
accept在类中SortingFocusTraversalPolicy - 参数:
-
aComponent- 要测试其作为焦点所有者的适合性的Component - 返回:
-
如果
aComponent是焦点所有者的有效选择,则返回true;否则返回false - 参见:
- 检查
-