模块 java.desktop

类 LayoutFocusTraversalPolicy

所有已实现的接口:
Serializable

public class LayoutFocusTraversalPolicy extends SortingFocusTraversalPolicy implements Serializable
一个 SortingFocusTraversalPolicy,它根据组件的大小、位置和方向对组件进行排序。根据它们的大小和位置,组件大致分为行和列。对于水平方向的容器,列从左到右或从右到左排列,行从上到下排列。对于垂直方向的容器,列从上到下排列,行从左到右或从右到左排列。有关详细信息,请参阅 ComponentOrientation。在继续下一行之前,一行中的所有列都被完全遍历。
自从:
1.4
参见:
  • 构造方法详细信息

    • LayoutFocusTraversalPolicy

      public LayoutFocusTraversalPolicy()
      构造 LayoutFocusTraversalPolicy。
  • 方法详情

    • getComponentAfter

      public Component  getComponentAfter(Container  aContainer, Component  aComponent)
      返回应在 aComponent 之后接收焦点的 Component。 aContainer 必须是 aComponent 的焦点循环根。

      默认情况下,LayoutFocusTraversalPolicy 隐式转移焦点向下循环。也就是说,在正常的焦点遍历中,焦点循环根之后遍历的Component将是焦点循环根默认要聚焦的Component。可以使用 setImplicitDownCycleTraversal 方法禁用此行为。

      如果 aContainer 是 焦点遍历策略提供者 ,焦点总是向下转移。

      重写:
      getComponentAfter 在类 SortingFocusTraversalPolicy
      参数:
      aContainer - aComponent 的焦点循环根或焦点遍历策略提供者
      aComponent - 容器的(可能是间接的)子容器,或容器本身
      返回:
      在 aComponent 之后应该获得焦点的 Component,如果找不到合适的 Component,则返回 null
      抛出:
      IllegalArgumentException - 如果 aContainer 不是 aComponent 的焦点循环根或焦点遍历策略提供者,或者如果 aContainer 或 aComponent 为 null
    • getComponentBefore

      public Component  getComponentBefore(Container  aContainer, Component  aComponent)
      返回应在 aComponent 之前获得焦点的 Component。 aContainer 必须是 aComponent 的焦点循环根。

      默认情况下,LayoutFocusTraversalPolicy 隐式转移焦点向下循环。也就是说,在正常的焦点遍历中,焦点循环根之后遍历的Component将是焦点循环根默认要聚焦的Component。可以使用 setImplicitDownCycleTraversal 方法禁用此行为。

      如果 aContainer 是 焦点遍历策略提供者 ,焦点总是向下转移。

      重写:
      getComponentBefore 在类 SortingFocusTraversalPolicy
      参数:
      aContainer - aComponent 的焦点循环根或焦点遍历策略提供者
      aComponent - 容器的(可能是间接的)子容器,或容器本身
      返回:
      应在 aComponent 之前获得焦点的 Component,如果找不到合适的 Component,则返回 null
      抛出:
      IllegalArgumentException - 如果 aContainer 不是 aComponent 的焦点循环根或焦点遍历策略提供者,或者如果 aContainer 或 aComponent 为 null
    • getFirstComponent

      public Component  getFirstComponent(Container  aContainer)
      返回遍历循环中的第一个 Component。此方法用于确定下一个 Component 在正向遍历时获得焦点。
      重写:
      getFirstComponent 在类 SortingFocusTraversalPolicy
      参数:
      aContainer - aComponent 的焦点循环根或要返回其第一个 Component 的焦点遍历策略提供者
      返回:
      aContainer 遍历循环中的第一个 Component,如果找不到合适的 Component,则返回 null
      抛出:
      IllegalArgumentException - 如果 aContainer 为空
    • getLastComponent

      public Component  getLastComponent(Container  aContainer)
      返回遍历循环中的最后一个 Component。此方法用于确定下一个 Component 在反向遍历时获得焦点。
      重写:
      getLastComponent 在类 SortingFocusTraversalPolicy
      参数:
      aContainer - aComponent 的焦点循环根或要返回其最后一个 Component 的焦点遍历策略提供者
      返回:
      aContainer 遍历循环中的最后一个 Component,如果找不到合适的 Component,则返回 null
      抛出:
      IllegalArgumentException - 如果 aContainer 为空
    • accept

      protected boolean accept(Component  aComponent)
      确定指定的 Component 作为新的焦点所有者是否是可接受的选择。此方法执行以下操作序列:
      1. 检查 aComponent 是否可见、可显示、启用和可聚焦。如果这些属性中的任何一个是 false ,则此方法返回 false
      2. 如果 aComponentJTable 的实例,则返回 true
      3. 如果 aComponentJComboBox 的实例,则返回 aComponent.getUI().isFocusTraversable(aComponent) 的值。
      4. 如果 aComponent 是一个 JComponent 和一个 JComponent.WHEN_FOCUSED InputMap 既不是 null 也不是空的,返回 true
      5. 返回 DefaultFocusTraversalPolicy.accept(aComponent) 的值。
      重写:
      accept 在类 SortingFocusTraversalPolicy
      参数:
      aComponent - Component 其作为焦点所有者的适用性将被测试
      返回:
      true 如果 aComponent 是焦点所有者的有效选择;否则false
      参见: