- java.lang.Object
-
- java.awt.FocusTraversalPolicy
-
public abstract class FocusTraversalPolicy extends Object
FocusTraversalPolicy定义遍历具有特定焦点循环根的组件的顺序。 实例可以将策略应用于任意焦点循环根,允许自己在Container之间共享。 当组件层次结构的焦点循环根发生更改时,不需要重新初始化它们。FocusTraversalPolicy的核心职责是提供算法,确定在UI中向前或向后遍历时要关注的下一个和上一个组件。 每个FocusTraversalPolicy还必须提供用于确定遍历循环中的第一个,最后一个和默认组件的算法。 当正常的向前和向后遍历分别包装时,使用第一个和最后一个组件。 当遍历到新的焦点遍历循环时,默认Component是第一个获得焦点的Component。 FocusTraversalPolicy可以选择提供用于确定Window的初始Component的算法。 当Window首次可见时,初始Component是第一个获得焦点的Component。
FocusTraversalPolicy考虑到了focus traversal policy providers 。 搜索第一个/最后一个/下一个/上一个组件时,如果遇到焦点遍历策略提供程序,则使用其焦点遍历策略执行搜索操作。
请参阅How to Use the Focus Subsystem ,在Java教程一节,并Focus Specification获取更多信息。
- 从以下版本开始:
- 1.4
- 另请参见:
-
Container.setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)
,Container.getFocusTraversalPolicy()
,Container.setFocusCycleRoot(boolean)
,Container.isFocusCycleRoot(java.awt.Container)
,Container.setFocusTraversalPolicyProvider(boolean)
,Container.isFocusTraversalPolicyProvider()
,KeyboardFocusManager.setDefaultFocusTraversalPolicy(java.awt.FocusTraversalPolicy)
,KeyboardFocusManager.getDefaultFocusTraversalPolicy()
-
-
构造方法摘要
构造方法 构造器 描述 FocusTraversalPolicy()
-
方法摘要
所有方法 实例方法 抽象方法 具体的方法 变量和类型 方法 描述 abstract Component
getComponentAfter(Container aContainer, Component aComponent)
返回应在aComponent之后接收焦点的Component。abstract Component
getComponentBefore(Container aContainer, Component aComponent)
返回应在aComponent之前接收焦点的Component。abstract Component
getDefaultComponent(Container aContainer)
返回要关注的默认Component。abstract Component
getFirstComponent(Container aContainer)
返回遍历循环中的第一个Component。Component
getInitialComponent(Window window)
返回第一次使Window可见时应该接收焦点的Component。abstract Component
getLastComponent(Container aContainer)
返回遍历循环中的最后一个Component。
-
-
-
方法详细信息
-
getComponentAfter
public abstract Component getComponentAfter(Container aContainer, Component aComponent)
返回应在aComponent之后接收焦点的Component。 aContainer必须是aComponent的焦点循环根或焦点遍历策略提供者。- 参数
-
aContainer
- aComponent或焦点遍历策略提供程序的焦点循环根 -
aComponent
- aContainer的一个(可能是间接的)子级,或者是一个aComponent
本身 - 结果
- 应该在aComponent之后接收焦点的Component,如果找不到合适的Component,则返回null
- 异常
-
IllegalArgumentException
- 如果aContainer不是aComponent或焦点遍历策略提供程序的焦点循环根,或者aContainer或aComponent为null
-
getComponentBefore
public abstract Component getComponentBefore(Container aContainer, Component aComponent)
返回应在aComponent之前接收焦点的Component。 aContainer必须是aComponent的焦点循环根或焦点遍历策略提供者。- 参数
-
aContainer
- aComponent或焦点遍历策略提供程序的焦点循环根 -
aComponent
- aContainer的一个(可能是间接的)子级,或者是一个aComponent
本身 - 结果
- 应该在aComponent之前接收焦点的Component,如果找不到合适的Component,则返回null
- 异常
-
IllegalArgumentException
- 如果aContainer不是aComponent或焦点遍历策略提供程序的焦点循环根,或者aContainer或aComponent为null
-
getFirstComponent
public abstract Component getFirstComponent(Container aContainer)
返回遍历循环中的第一个Component。 此方法用于确定当遍历向前包裹时要聚焦的下一个Component。- 参数
-
aContainer
- 要返回其第一个Component的焦点循环根或焦点遍历策略提供程序 - 结果
- aContainer的遍历循环中的第一个Component,如果找不到合适的Component,则返回null
- 异常
-
IllegalArgumentException
- 如果aContainer为null
-
getLastComponent
public abstract Component getLastComponent(Container aContainer)
返回遍历循环中的最后一个Component。 此方法用于确定当遍历以反向方式换行时要关注的下一个Component。- 参数
-
aContainer
- 要返回其最后一个Component的焦点循环根或焦点遍历策略提供程序 - 结果
- aContainer的遍历循环中的最后一个Component,如果找不到合适的Component,则返回null
- 异常
-
IllegalArgumentException
- 如果aContainer为null
-
getDefaultComponent
public abstract Component getDefaultComponent(Container aContainer)
返回要关注的默认Component。 当遍历到以aContainer为根的新焦点遍历循环时,此Component将是第一个获得焦点的组件。- 参数
-
aContainer
- 要返回其默认Component的焦点循环根或焦点遍历策略提供程序 - 结果
- aContainer的遍历循环中的默认Component,如果找不到合适的Component,则返回null
- 异常
-
IllegalArgumentException
- 如果aContainer为null
-
getInitialComponent
public Component getInitialComponent(Window window)
返回第一次使Window可见时应该接收焦点的Component。 通过调用show()
或setVisible(true)
使窗口可见后,将不再使用初始组件。 相反,如果Window丢失并随后重新获得焦点,或者使其不可见或不可显示并随后变得可见和可显示,则Window最近关注的组件将成为焦点所有者。 此方法的默认实现返回默认Component。- 参数
-
window
- 要返回其初始Component的窗口 - 结果
- 当窗口第一次可见时应该接收焦点的Component,如果找不到合适的Component,则返回null
- 异常
-
IllegalArgumentException
- 如果window为null - 另请参见:
-
getDefaultComponent(java.awt.Container)
,Window.getMostRecentFocusOwner()
-
-