|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjava.awt.FocusTraversalPolicy
public abstract class FocusTraversalPolicy
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。
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 |
| 构造方法详细信息 |
|---|
public FocusTraversalPolicy()
| 方法详细信息 |
|---|
public abstract Component getComponentAfter(Container aContainer,
Component aComponent)
aContainer - aComponent 的焦点循环根,或焦点遍历策略提供者aComponent - aContainer 的子级(可能是间接的),或 aContainer 自身
IllegalArgumentException - 如果 aContainer 不是 aComponent 的焦点循环根或焦点遍历策略提供者,或者 aContainer 或 aComponent 为 null
public abstract Component getComponentBefore(Container aContainer,
Component aComponent)
aContainer - aComponent 的焦点循环根,或焦点遍历策略提供者aComponent - aContainer 的子级(可能是间接的),或 aContainer 自身
IllegalArgumentException - 如果 aContainer 不是 aComponent 的焦点循环根或焦点遍历策略提供者,或者 aContainer 或 aComponent 为 nullpublic abstract Component getFirstComponent(Container aContainer)
aContainer - 焦点循环根,或要返回第一个 Component 的焦点遍历策略提供者
IllegalArgumentException - 如果 aContainer 为 nullpublic abstract Component getLastComponent(Container aContainer)
aContainer - 焦点循环根,或要返回最后一个 Component 的焦点遍历策略提供者
IllegalArgumentException - 如果 aContainer 为 nullpublic abstract Component getDefaultComponent(Container aContainer)
aContainer - 焦点循环根,或要返回其默认 Component 的焦点遍历策略提供者
IllegalArgumentException - 如果 aContainer 为 nullpublic Component getInitialComponent(Window window)
show() 或 setVisible(true) 将窗口设置为可见的,将不再使用初始 Component。相反,如果窗口失去焦点、随后又重获焦点,或者设置为不可见或不可显示、随后又设置为可见或可显示,则窗口最近聚焦的 Component 将成为焦点所有者。此方法的默认实现返回默认 Component。
window - 要返回其初始组件的 Window
IllegalArgumentException - 如果 window 为 nullgetDefaultComponent(java.awt.Container),
Window.getMostRecentFocusOwner()
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。