- java.lang.Object
-
- java.awt.FocusTraversalPolicy
-
- javax.swing.InternalFrameFocusTraversalPolicy
-
- javax.swing.SortingFocusTraversalPolicy
-
- javax.swing.LayoutFocusTraversalPolicy
-
- 实现的所有接口
-
Serializable
public class LayoutFocusTraversalPolicy extends SortingFocusTraversalPolicy implements Serializable
SortingFocusTraversalPolicy,根据组件的大小,位置和方向对组件进行排序。 根据它们的大小和位置,组件大致分为行和列。 对于具有水平方向的Container,列从左到右或从右到左运行,行从上到下运行。 对于具有垂直方向的Container,列从上到下运行,行从左到右或从右到左运行。 有关更多信息,请参见ComponentOrientation
。 在继续下一行之前,一行中的所有列都已完全遍历。- 从以下版本开始:
- 1.4
- 另请参见:
-
ComponentOrientation
, Serialized Form
-
-
构造方法摘要
构造方法 构造器 描述 LayoutFocusTraversalPolicy()
构造一个LayoutFocusTraversalPolicy。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 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)
返回遍历循环中的最后一个Component。-
声明方法的类 javax.swing.SortingFocusTraversalPolicy
getComparator, getDefaultComponent, getImplicitDownCycleTraversal, setComparator, setImplicitDownCycleTraversal
-
声明方法的类 javax.swing.InternalFrameFocusTraversalPolicy
getInitialComponent
-
声明方法的类 java.awt.FocusTraversalPolicy
getInitialComponent
-
-
-
-
方法详细信息
-
getComponentAfter
public Component getComponentAfter(Container aContainer, Component aComponent)
返回应在aComponent之后接收焦点的Component。 aContainer必须是aComponent的焦点循环根。默认情况下,LayoutFocusTraversalPolicy隐式地将焦点向下传输。 也就是说,在正常焦点遍历期间,在焦点循环根将成为焦点循环根的默认组件焦点之后,组件遍历。 可以使用
setImplicitDownCycleTraversal
方法禁用此行为。如果aContainer是focus traversal policy provider ,则焦点始终向下传输。
- 重写:
-
getComponentAfter
在类SortingFocusTraversalPolicy
- 参数
-
aContainer
- aComponent或焦点遍历策略提供程序的焦点循环根 -
aComponent
- aContainer的一个(可能是间接的)子aComponent
,或者一个aComponent
本身 - 结果
- 应该在aComponent之后接收焦点的Component,如果找不到合适的Component,则返回null
- 异常
-
IllegalArgumentException
- 如果aContainer不是aComponent或焦点遍历策略提供程序的焦点循环根,或者aContainer或aComponent为null
-
getComponentBefore
public Component getComponentBefore(Container aContainer, Component aComponent)
返回应在aComponent之前接收焦点的Component。 aContainer必须是aComponent的焦点循环根。默认情况下,LayoutFocusTraversalPolicy隐式地将焦点向下传输。 也就是说,在正常焦点遍历期间,在焦点循环根将成为焦点循环根的默认组件焦点之后,组件遍历。 可以使用
setImplicitDownCycleTraversal
方法禁用此行为。如果aContainer为focus traversal policy provider ,则焦点始终向下传输。
- 重写:
-
getComponentBefore
在类SortingFocusTraversalPolicy
- 参数
-
aContainer
- aComponent或焦点遍历策略提供程序的焦点循环根 -
aComponent
- aContainer的一个(可能是间接的)子aComponent
,或者一个aComponent
本身 - 结果
- 应该在aComponent之前接收焦点的Component,如果找不到合适的Component,则返回null
- 异常
-
IllegalArgumentException
- 如果aContainer不是aComponent或焦点遍历策略提供程序的焦点循环根,或者aContainer或aComponent为null
-
getFirstComponent
public Component getFirstComponent(Container aContainer)
返回遍历循环中的第一个Component。 此方法用于确定当遍历向前包裹时要聚焦的下一个Component。- 重写:
-
getFirstComponent
在类SortingFocusTraversalPolicy
- 参数
-
aContainer
- aComponent的焦点循环根或焦点遍历策略提供程序,其第一个Component将被返回 - 结果
- aContainer的遍历循环中的第一个Component,如果找不到合适的Component,则返回null
- 异常
-
IllegalArgumentException
- 如果aContainer为null
-
getLastComponent
public Component getLastComponent(Container aContainer)
返回遍历循环中的最后一个Component。 此方法用于确定当遍历以反向方式换行时要关注的下一个Component。- 重写:
-
getLastComponent
在类SortingFocusTraversalPolicy
- 参数
-
aContainer
- aComponent的焦点循环根或焦点遍历策略提供程序,其最后一个Component将被返回 - 结果
- aContainer的遍历循环中的最后一个Component,如果找不到合适的Component,则返回null
- 异常
-
IllegalArgumentException
- 如果aContainer为null
-
accept
protected boolean accept(Component aComponent)
确定指定的Component
是否是新焦点所有者可接受的选择。 此方法执行以下操作序列:- 检查
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)
- 检查
-
-