- java.lang.Object
-
- java.awt.FocusTraversalPolicy
-
- java.awt.ContainerOrderFocusTraversalPolicy
-
- java.awt.DefaultFocusTraversalPolicy
-
- All Implemented Interfaces:
-
Serializable
public class DefaultFocusTraversalPolicy extends ContainerOrderFocusTraversalPolicy
FocusTraversalPolicy根据容器中子组件的顺序确定遍历顺序。 从特定焦点循环根中,策略对Component层次结构进行预先遍历,并根据Container.getComponents()
返回的数组的顺序遍历Container的子Container.getComponents()
。 层级结构中不可见和可显示的部分将不被搜索。如果客户端代码通过覆盖
Component.isFocusTraversable()
或Component.isFocusable()
或调用Component.setFocusable()
明确设置组件的可Component.setFocusable()
,则DefaultFocusTraversalPolicy的行为与ContainerOrderFocusTraversalPolicy完全相同。 但是,如果组件依赖于默认焦点,则DefaultFocusTraversalPolicy将拒绝所有具有不可聚焦对象的组件。 这是所有AWT容器的默认FocusTraversalPolicy。对等体的聚焦性取决于实现。 Sun建议特定本地平台的所有实现以相同的可重定性构建对等体。 Windows和Unix的建议是:画布,标签,面板,滚动条,ScrollPanes,Windows和轻量级组件具有不可对焦的对等体,所有其他组件都具有可聚焦的对等体。 这些建议用于Sun AWT实现。 请注意,组件对等体的可集中性与组件本身的可重点性不同,也不影响组件本身的可重点性。
请参阅How to Use the Focus Subsystem , Java教程中的一节,以及有关详细信息的Focus Specification 。
- 从以下版本开始:
- 1.4
- 另请参见:
-
Container.getComponents()
,Component.isFocusable()
,Component.setFocusable(boolean)
, Serialized Form
-
-
构造方法摘要
构造方法 Constructor 描述 DefaultFocusTraversalPolicy()
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 protected boolean
accept(Component aComponent)
确定组件是否是新焦点所有者的可接受选择。-
Methods inherited from class java.awt.ContainerOrderFocusTraversalPolicy
getComponentAfter, getComponentBefore, getDefaultComponent, getFirstComponent, getImplicitDownCycleTraversal, getLastComponent, setImplicitDownCycleTraversal
-
Methods inherited from class java.awt.FocusTraversalPolicy
getInitialComponent
-
-
-
-
方法详细信息
-
accept
protected boolean accept(Component aComponent)
确定组件是否是新焦点所有者的可接受选择。 组件必须可见,可显示和启用才能被接受。 如果客户端代码通过覆盖Component.isFocusTraversable()
或Component.isFocusable()
或通过调用Component.setFocusable()
明确设置了组件的可Component.setFocusable()
,则当且仅当该组件可Component.setFocusable()
,该组件将被接受。 然而,如果组件依赖于默认的可重定向性,则所有画布,标签,面板,滚动条,ScrollPanes,Windows和轻量级组件都将被拒绝。- 重写:
-
accept
在ContainerOrderFocusTraversalPolicy
- 参数
-
aComponent
- 要测试适合作为焦点所有者的组件 - 结果
-
true
如果一个组件满足上述要求; 否则为false
-
-