- java.lang.Object
-
- java.awt.FocusTraversalPolicy
-
- javax.swing.InternalFrameFocusTraversalPolicy
-
- javax.swing.SortingFocusTraversalPolicy
-
- javax.swing.LayoutFocusTraversalPolicy
-
- All Implemented Interfaces:
-
Serializable
public class LayoutFocusTraversalPolicy extends SortingFocusTraversalPolicy implements Serializable
一个SortingFocusTraversalPolicy,它根据大小,位置和方向对组件进行排序。 基于它们的大小和位置,组件大致分为行和列。 对于具有水平方向的容器,列从左到右或从右到左运行,行从上到下运行。 对于具有垂直方向的容器,列从上到下运行,行从左到右或从右到左运行。 详情请参阅ComponentOrientation
。 在继续下一行之前,一行中的所有列都将完全遍历。- 从以下版本开始:
- 1.4
- 另请参见:
-
ComponentOrientation
, Serialized Form
-
-
构造方法摘要
构造方法 Constructor 描述 LayoutFocusTraversalPolicy()
构造一个LayoutFocusTraversalPolicy。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 protected boolean
accept(Component aComponent)
确定指定的Component
是否是新焦点所有者的可接受选择。Component
getComponentAfter(Container aContainer, Component aComponent)
返回在aComponent之后应该接收焦点的Component。Component
getComponentBefore(Container aContainer, Component aComponent)
返回应该在aComponent之前接收焦点的Component。Component
getFirstComponent(Container aContainer)
返回遍历周期中的第一个Component。Component
getLastComponent(Container aContainer)
返回遍历周期中的最后一个组件。-
Methods inherited from class java.awt.FocusTraversalPolicy
getInitialComponent
-
Methods inherited from class javax.swing.InternalFrameFocusTraversalPolicy
getInitialComponent
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from class javax.swing.SortingFocusTraversalPolicy
getComparator, getDefaultComponent, getImplicitDownCycleTraversal, setComparator, setImplicitDownCycleTraversal
-
-
-
-
方法详细信息
-
getComponentAfter
public Component getComponentAfter(Container aContainer, Component aComponent)
返回在aComponent之后应该接收焦点的Component。 aContainer必须是aComponent的焦点循环根。默认情况下,LayoutFocusTraversalPolicy隐式地转移焦点下循环。 也就是说,在正常聚焦遍历期间,在聚焦周期根之后遍历的组件将是focus-cycle-root的默认组件对焦。 可以使用
setImplicitDownCycleTraversal
方法禁用此行为。如果aContainer是focus traversal policy provider ,焦点总是转移到周期。
- 重写:
-
getComponentAfter
在SortingFocusTraversalPolicy
- 参数
-
aContainer
- aComponent或焦点遍历策略提供程序的焦点循环根 -
aComponent
- aContainer的一个(可能是间接的)子,或者一个aComponent
本身 - 结果
- 应该在aComponent之后接收焦点的组件,如果没有找到合适的组件,则为null
- 异常
-
IllegalArgumentException
- 如果aContainer不是aComponent或焦点遍历策略提供程序的焦点循环根,或者aContainer或aComponent为null
-
getComponentBefore
public Component getComponentBefore(Container aContainer, Component aComponent)
返回应该在aComponent之前接收焦点的Component。 aContainer必须是aComponent的焦点循环根。默认情况下,LayoutFocusTraversalPolicy隐式地转移焦点下循环。 也就是说,在正常聚焦遍历期间,在聚焦周期根之后遍历的组件将是focus-cycle-root的默认组件对焦。 可以使用
setImplicitDownCycleTraversal
方法禁用此行为。如果aContainer是focus traversal policy provider ,焦点总是被转移到周期。
- 重写:
-
getComponentBefore
在SortingFocusTraversalPolicy
- 参数
-
aContainer
- aComponent或焦点遍历策略提供程序的焦点循环根 -
aComponent
- aContainer的一个(可能是间接的)孩子,或者一个aComponent
本身 - 结果
- 应该在aComponent之前收到焦点的组件,如果没有找到合适的组件,则为null
- 异常
-
IllegalArgumentException
- 如果aContainer不是aComponent或焦点遍历策略提供程序的焦点循环根,或者aContainer或aComponent为null
-
getFirstComponent
public Component getFirstComponent(Container aContainer)
返回遍历周期中的第一个Component。 该方法用于确定当向前方向遍历包装时要聚焦的下一个组件。- 重写:
-
getFirstComponent
在SortingFocusTraversalPolicy
- 参数
-
aContainer
- 要返回其第一个组件的组件或焦点遍历策略提供程序的焦点循环根 - 结果
- aContainer遍历周期中的第一个组件,如果没有找到合适的组件,则返回null
- 异常
-
IllegalArgumentException
- 如果aContainer为空
-
getLastComponent
public Component getLastComponent(Container aContainer)
返回遍历周期中的最后一个组件。 该方法用于确定当相反方向遍历包装时要聚焦的下一个组件。- 重写:
-
getLastComponent
在SortingFocusTraversalPolicy
- 参数
-
aContainer
- 要返回其最后一个组件的组件或焦点遍历策略提供程序的焦点循环根 - 结果
- aContainer遍历周期中的最后一个组件,如果没有找到合适的组件,则返回null
- 异常
-
IllegalArgumentException
- 如果aContainer为空
-
accept
protected boolean accept(Component aComponent)
确定指定的Component
是否是新焦点所有者的可接受选择。 该方法执行以下操作顺序:- 检查
aComponent
是否可见,可显示,已启用和可aComponent
。 如果这些属性是false
,此方法返回false
。 - 如果
aComponent
是实例JTable
,返回true
。 - 如果
aComponent
是实例JComboBox
,然后返回的值aComponent.getUI().isFocusTraversable(aComponent)
。 - 如果
aComponent
是一个JComponent
与JComponent.WHEN_FOCUSED
InputMap
既不是null
也不是空,返回true
。 - 返回值
DefaultFocusTraversalPolicy.accept(aComponent)
。
- 重写:
-
accept
在SortingFocusTraversalPolicy
- 参数
-
aComponent
-Component
作为焦点所有者的健身将被测试 - 结果
-
true
如果aComponent
是焦点所有者的有效选择; 否则false
- 另请参见:
-
Component.isVisible()
,Component.isDisplayable()
,Component.isEnabled()
,Component.isFocusable()
,ComboBoxUI.isFocusTraversable(javax.swing.JComboBox<?>)
,JComponent.getInputMap(int)
,DefaultFocusTraversalPolicy.accept(java.awt.Component)
- 检查
-
-