Module java.desktop
Package javax.swing

Class LayoutFocusTraversalPolicy

  • All Implemented Interfaces:
    Serializable

    public class LayoutFocusTraversalPolicy
    extends SortingFocusTraversalPolicy
    implements Serializable
    A SortingFocusTraversalPolicy which sorts Components based on their size, position, and orientation. Based on their size and position, Components are roughly categorized into rows and columns. For a Container with horizontal orientation, columns run left-to-right or right-to-left, and rows run top- to-bottom. For a Container with vertical orientation, columns run top-to- bottom and rows run left-to-right or right-to-left. See ComponentOrientation for more information. All columns in a row are fully traversed before proceeding to the next row.
    Since:
    1.4
    See Also:
    ComponentOrientation
    • Constructor Detail

      • LayoutFocusTraversalPolicy

        public LayoutFocusTraversalPolicy()
        Constructs a LayoutFocusTraversalPolicy.
    • Method Detail

      • getComponentAfter

        public Component getComponentAfter​(Container aContainer,
                                           Component aComponent)
        Returns the Component that should receive the focus after aComponent. aContainer must be a focus cycle root of aComponent.

        By default, LayoutFocusTraversalPolicy implicitly transfers focus down- cycle. That is, during normal focus traversal, the Component traversed after a focus cycle root will be the focus-cycle-root's default Component to focus. This behavior can be disabled using the setImplicitDownCycleTraversal method.

        If aContainer is focus traversal policy provider, the focus is always transferred down-cycle.

        Overrides:
        getComponentAfter in class SortingFocusTraversalPolicy
        Parameters:
        aContainer - a focus cycle root of aComponent or a focus traversal policy provider
        aComponent - a (possibly indirect) child of aContainer, or aContainer itself
        Returns:
        the Component that should receive the focus after aComponent, or null if no suitable Component can be found
        Throws:
        IllegalArgumentException - if aContainer is not a focus cycle root of aComponent or a focus traversal policy provider, or if either aContainer or aComponent is null
      • getComponentBefore

        public Component getComponentBefore​(Container aContainer,
                                            Component aComponent)
        Returns the Component that should receive the focus before aComponent. aContainer must be a focus cycle root of aComponent.

        By default, LayoutFocusTraversalPolicy implicitly transfers focus down- cycle. That is, during normal focus traversal, the Component traversed after a focus cycle root will be the focus-cycle-root's default Component to focus. This behavior can be disabled using the setImplicitDownCycleTraversal method.

        If aContainer is focus traversal policy provider, the focus is always transferred down-cycle.

        Overrides:
        getComponentBefore in class SortingFocusTraversalPolicy
        Parameters:
        aContainer - a focus cycle root of aComponent or a focus traversal policy provider
        aComponent - a (possibly indirect) child of aContainer, or aContainer itself
        Returns:
        the Component that should receive the focus before aComponent, or null if no suitable Component can be found
        Throws:
        IllegalArgumentException - if aContainer is not a focus cycle root of aComponent or a focus traversal policy provider, or if either aContainer or aComponent is null
      • getFirstComponent

        public Component getFirstComponent​(Container aContainer)
        Returns the first Component in the traversal cycle. This method is used to determine the next Component to focus when traversal wraps in the forward direction.
        Overrides:
        getFirstComponent in class SortingFocusTraversalPolicy
        Parameters:
        aContainer - a focus cycle root of aComponent or a focus traversal policy provider whose first Component is to be returned
        Returns:
        the first Component in the traversal cycle of aContainer, or null if no suitable Component can be found
        Throws:
        IllegalArgumentException - if aContainer is null
      • getLastComponent

        public Component getLastComponent​(Container aContainer)
        Returns the last Component in the traversal cycle. This method is used to determine the next Component to focus when traversal wraps in the reverse direction.
        Overrides:
        getLastComponent in class SortingFocusTraversalPolicy
        Parameters:
        aContainer - a focus cycle root of aComponent or a focus traversal policy provider whose last Component is to be returned
        Returns:
        the last Component in the traversal cycle of aContainer, or null if no suitable Component can be found
        Throws:
        IllegalArgumentException - if aContainer is null