java.awt
Class DefaultFocusTraversalPolicy
java.lang.Object
java.awt.FocusTraversalPolicy
java.awt.ContainerOrderFocusTraversalPolicy
java.awt.DefaultFocusTraversalPolicy
- All Implemented Interfaces:
- Serializable
- Direct Known Subclasses:
- SwingDefaultFocusTraversalPolicy
- public class DefaultFocusTraversalPolicy
- extends ContainerOrderFocusTraversalPolicy
A FocusTraversalPolicy that determines traversal order based on the order
of child Components in a Container. From a particular focus cycle root, the
policy makes a pre-order traversal of the Component hierarchy, and traverses
a Container's children according to the ordering of the array returned by
Container.getComponents()
. Portions of the hierarchy that are
not visible and displayable will not be searched.
If client code has explicitly set the focusability of a Component by either
overriding Component.isFocusTraversable()
or
Component.isFocusable()
, or by calling
Component.setFocusable()
, then a DefaultFocusTraversalPolicy
behaves exactly like a ContainerOrderFocusTraversalPolicy. If, however, the
Component is relying on default focusability, then a
DefaultFocusTraversalPolicy will reject all Components with non-focusable
peers. This is the default FocusTraversalPolicy for all AWT Containers.
The focusability of a peer is implementation-dependent. Sun recommends that
all implementations for a particular native platform construct peers with
the same focusability. The recommendations for Windows and Unix are that
Canvases, Labels, Panels, Scrollbars, ScrollPanes, Windows, and lightweight
Components have non-focusable peers, and all other Components have focusable
peers. These recommendations are used in the Sun AWT implementations. Note
that the focusability of a Component's peer is different from, and does not
impact, the focusability of the Component itself.
- Since:
- 1.4
- Author:
- David Mendenhall
- See Also:
Container.getComponents()
,
Component.isFocusable()
,
Component.setFocusable(boolean)
,
Serialized Form
Method Summary |
protected boolean |
accept(Component aComponent)
Determines whether a Component is an acceptable choice as the new
focus owner. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DefaultFocusTraversalPolicy
public DefaultFocusTraversalPolicy()
accept
protected boolean accept(Component aComponent)
- Determines whether a Component is an acceptable choice as the new
focus owner. The Component must be visible, displayable, and enabled
to be accepted. If client code has explicitly set the focusability
of the Component by either overriding
Component.isFocusTraversable()
or
Component.isFocusable()
, or by calling
Component.setFocusable()
, then the Component will be
accepted if and only if it is focusable. If, however, the Component is
relying on default focusability, then all Canvases, Labels, Panels,
Scrollbars, ScrollPanes, Windows, and lightweight Components will be
rejected.
- Overrides:
accept
in class ContainerOrderFocusTraversalPolicy
- Parameters:
aComponent
- the Component whose fitness as a focus owner is to
be tested
- Returns:
true
if aComponent meets the above requirements;
false
otherwise