public class DefaultFocusTraversalPolicy extends ContainerOrderFocusTraversalPolicy
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以获取更多信息。
Container.getComponents()
,
Component.isFocusable()
,
Component.setFocusable(boolean)
,
Serialized Form
Constructor and Description |
---|
DefaultFocusTraversalPolicy() |
Modifier and Type | Method and Description |
---|---|
protected boolean |
accept(Component aComponent)
确定组件是否是新焦点所有者的可接受选择。
|
getComponentAfter, getComponentBefore, getDefaultComponent, getFirstComponent, getImplicitDownCycleTraversal, getLastComponent, setImplicitDownCycleTraversal
getInitialComponent
protected boolean accept(Component aComponent)
Component.isFocusTraversable()
或Component.isFocusable()
或通过调用Component.setFocusable()来明确设置组件的可集中Component.setFocusable()
,则当且仅当可组合时,组件才被接受。
然而,如果组件依赖于默认的可重定向性,则所有画布,标签,面板,滚动条,ScrollPanes,Windows和轻量级组件都将被拒绝。
accept
在类别
ContainerOrderFocusTraversalPolicy
aComponent
- 要测试适合作为焦点所有者的组件
true
如果一个组件满足上述要求;
false
否则