Module java.desktop
Package java.awt

Class DefaultFocusTraversalPolicy

所有已实现的接口:
Serializable

public class DefaultFocusTraversalPolicy extends ContainerOrderFocusTraversalPolicy
基于容器中子组件的顺序确定遍历顺序的焦点遍历策略。从特定的焦点循环根开始,该策略对组件层次结构进行先序遍历,并根据Container.getComponents()返回的数组的顺序遍历容器的子组件。不会搜索不可见和不可显示的部分层次结构。

如果客户端代码通过覆盖Component.isFocusTraversable()Component.isFocusable(),或调用Component.setFocusable()显式设置了组件的焦点性,则DefaultFocusTraversalPolicy的行为与ContainerOrderFocusTraversalPolicy完全相同。但是,如果组件依赖于默认的焦点性,则DefaultFocusTraversalPolicy将拒绝所有具有非焦点性对等体的组件。这是所有AWT容器的默认FocusTraversalPolicy。

对等体的焦点性取决于实现。Sun建议为特定的本机平台构建具有相同焦点性的对等体。Windows和Unix的建议是,Canvases、Labels、Panels、Scrollbars、ScrollPanes、Windows和轻量级组件具有非焦点性对等体,所有其他组件具有焦点性对等体。这些建议在Sun AWT实现中使用。请注意,组件的对等体的焦点性与组件本身的焦点性不同且不影响。

更多信息,请参阅如何使用焦点子系统,这是The Java Tutorial中的一个部分,以及焦点规范

自 JDK 版本:
1.4
参见:
  • Constructor Details

    • DefaultFocusTraversalPolicy

      public DefaultFocusTraversalPolicy()
      构造一个DefaultFocusTraversalPolicy
  • Method Details

    • accept

      protected boolean accept(Component aComponent)
      确定组件是否是新焦点所有者的可接受选择。组件必须可见、可显示和启用才能被接受。如果客户端代码通过覆盖Component.isFocusTraversable()Component.isFocusable(),或调用Component.setFocusable()显式设置了组件的焦点性,则只有当组件具有焦点性时才会被接受。但是,如果组件依赖于默认的焦点性,则所有Canvases、Labels、Panels、Scrollbars、ScrollPanes、Windows和轻量级组件都将被拒绝。
      覆盖:
      accept 在类 ContainerOrderFocusTraversalPolicy
      参数:
      aComponent - 要测试其作为焦点所有者的适合性的组件
      返回:
      如果aComponent符合上述要求,则返回true;否则返回false