|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.awt
类 FocusTraversalPolicy
java.lang.Object java.awt.FocusTraversalPolicy
-
public abstract class FocusTraversalPolicy
- extends Object
FocusTraversalPolicy 定义一种顺序,按此顺序遍历具有特定焦点循环根的 Component。实例可以将此策略应用于任意焦点循环根,允许它们在整个 Container 共享。当焦点循环根的组件层次结构更改时,不必重新初始化它们。
FocusTraversalPolicy 的核心职责是提供算法,在 UI 中进行向前或向后遍历时确定下一个和上一个要聚焦的 Component。每个 FocusTraversalPolicy 还必须提供算法,确定遍历循环中第一个、最后一个,以及默认的组件。进行正常的正向和反向遍历时,分别使用第一个和最后一个 Component。默认的 Component 是向下遍历到一个新的焦点遍历循环时接收焦点的第一个 Component。FocusTraversalPolicy 可以随意提供确定窗口初始 Component 的算法。初始 Component 是首次将窗口设置为可见时接收焦点的第一个 Component。
FocusTraversalPolicy 会考虑焦点遍历策略提供者。当搜索第一个/最后一个/下一个/上一个 Component 时,如果遇到焦点遍历策略提供者,则使用该焦点遍历策略来执行搜索操作。
有关更多信息,请参阅 The Java Tutorial 中 How to Use the Focus Subsystem 一节和 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,aContainer 必须是 aComponent 的焦点循环根,或者焦点遍历策略提供者。 |
abstract Component |
getComponentBefore(Container aContainer, Component aComponent) 返回应该接收 aComponent 之前的焦点的 Component,aContainer 必须是 aComponent 的焦点循环根,或焦点遍历策略提供者。 |
abstract Component |
getDefaultComponent(Container aContainer) 返回要聚焦的默认 Component。 |
abstract Component |
getFirstComponent(Container aContainer) 返回遍历循环中的第一个 Component。 |
Component |
getInitialComponent(Window window) 返回第一次将窗口设置为可见时,应该接收焦点的 Component。 |
abstract Component |
getLastComponent(Container aContainer) 返回遍历循环中的最后一个 Component。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
FocusTraversalPolicy
public FocusTraversalPolicy()
方法详细信息 |
---|
getComponentAfter
public abstract Component getComponentAfter(Container aContainer, Component aComponent)
- 返回应该接收 aComponent 之后的焦点的 Component,aContainer 必须是 aComponent 的焦点循环根,或者焦点遍历策略提供者。
-
- 参数:
-
aContainer
- aComponent 的焦点循环根,或焦点遍历策略提供者 -
aComponent
- aContainer 的子级(可能是间接的),或 aContainer 自身 - 返回:
- 应该接收 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 的子级(可能是间接的),或 aContainer 自身 - 返回:
- 应该接收 aComponent 之前的焦点的 Componentor,如果无法找到合适的 Component,则返回 null
- 抛出:
-
IllegalArgumentException
- 如果 aContainer 不是 aComponent 的焦点循环根或焦点遍历策略提供者,或者 aContainer 或 aComponent 为 null
getFirstComponent
public abstract Component getFirstComponent(Container aContainer)
- 返回遍历循环中的第一个 Component。在进行正向遍历时,可用此方法确定拥有焦点的下一个 Component。
-
- 参数:
-
aContainer
- 焦点循环根,或要返回第一个 Component 的焦点遍历策略提供者 - 返回:
- aContainer 的遍历循环中的第一个 Componentor,如果无法找到合适的 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 将是第一个接受焦点的 Component。
-
- 参数:
-
aContainer
- 焦点循环根,或要返回其默认 Component 的焦点遍历策略提供者 - 返回:
- aContainer 的遍历循环中的默认 Component,如果无法找到合适的 Component,则返回 null
- 抛出:
-
IllegalArgumentException
- 如果 aContainer 为 null
getInitialComponent
public Component getInitialComponent(Window window)
-
返回第一次将窗口设置为可见时,应该接收焦点的 Component。一旦通过调用
show()
或setVisible(true)
将窗口设置为可见的,将不再使用初始 Component。相反,如果窗口失去焦点、随后又重获焦点,或者设置为不可见或不可显示、随后又设置为可见或可显示,则窗口最近聚焦的 Component 将成为焦点所有者。此方法的默认实现返回默认 Component。 -
- 参数:
-
window
- 要返回其初始组件的 Window - 返回:
- 第一次将窗口设置为可见时,应该接收焦点的 Component,如果无法找到合适的 Component,则返回 null
- 抛出:
-
IllegalArgumentException
- 如果 window 为 null - 另请参见:
-
getDefaultComponent(java.awt.Container)
,Window.getMostRecentFocusOwner()
所有类
|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |