所有类


java.awt
类 DefaultFocusTraversalPolicy

java.lang.Object
  继承者 java.awt.FocusTraversalPolicy
      继承者 java.awt.ContainerOrderFocusTraversalPolicy
          继承者 java.awt.DefaultFocusTraversalPolicy
所有已实现的接口:
Serializable

public class DefaultFocusTraversalPolicy
   
   
   
   
   
extends ContainerOrderFocusTraversalPolicy

根据 Container 中的子 Component 的顺序确定遍历顺序的 FocusTraversalPolicy。该策略将从特定焦点循环根对 Component 层次结构进行前序遍历,并根据 Container.getComponents() 返回的数组顺序遍历 Container 的子容器。不可视和不可显示的部分层次结构将不被搜索。

如果通过重写 Component.isFocusTraversable()Component.isFocusable(),或者通过调用 Component.setFocusable(),客户机代码已经明确设置了 Component 的可聚焦性,则 DefaultFocusTraversalPolicy 的行为完全类似于 ContainerOrderFocusTraversalPolicy。不过,如果 Component 依赖于默认的可聚焦性,则 DefaultFocusTraversalPolicy 将拒绝具有不可聚焦同位体的所有 Component。这是所有 AWT Container 的默认 FocusTraversalPolicy。

同位体的可聚焦性与实现有关。Sun 建议特定本机平台的所有实现都构造具有相同可聚焦性的同位体。对 Windows 和 Unix 的建议是:Canvases、Labels、Panels、Scrollbars、ScrollPanes、Windows 和轻量级 Component 都有不可聚焦的同位体,而其他所有 Component 都有可聚焦的同位体。这些建议被用于 Sun AWT 实现中。注意,Component 的同位体的可聚焦性不同于(并且不会影响)其自身的可聚焦性。

请参阅《The Java Tutorial》中的 How to Use the Focus Subsystem 一节,要获得更多的信息,请参阅 Focus Specification

从以下版本开始:
1.4
另请参见:
Container.getComponents(), Component.isFocusable(), Component.setFocusable(boolean), 序列化表格

构造方法摘要
DefaultFocusTraversalPolicy()
           
 
方法摘要
protected  boolean accept(Component aComponent)
          确定是否可以接受选择某个 Component 作为新的焦点所有者。
 
从类 java.awt.ContainerOrderFocusTraversalPolicy 继承的方法
getComponentAfter, getComponentBefore, getDefaultComponent, getFirstComponent, getImplicitDownCycleTraversal, getLastComponent, setImplicitDownCycleTraversal
 
从类 java.awt.FocusTraversalPolicy 继承的方法
getInitialComponent
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

DefaultFocusTraversalPolicy

public DefaultFocusTraversalPolicy()
方法详细信息

accept

protected boolean accept(Component aComponent)
确定是否可以接受选择某个 Component 作为新的焦点所有者。该 Component 必须是可视的、可显示的和能够接受的。如果通过重写 Component.isFocusTraversable()Component.isFocusable(),或者通过调用 Component.setFocusable(),客户机代码已经明确设置 Component 的可聚焦性,则只在 Component 是可聚焦的组件时,才会接受它。不过,如果 Component 依赖于默认可聚焦性,那么所有的 Canvases、Labels、Panels、Scrollbars、ScrollPanes、Windows 和轻量级 Component 都将遭到拒绝。

覆盖:
ContainerOrderFocusTraversalPolicy 中的 accept
参数:
aComponent - 将测试其是否适合作为焦点所有者的 Component
返回:
如果 aComponent 满足上述要求,则返回 true;否则返回 false

所有类

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部