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