public class FocusTraveller extends java.awt.FocusTraversalPolicy
FocusTraversalPolicy
that allows for easy creation of
the traversal policy.
Note that the "delta" parameter of both
cycle(Component, int)
and indexCycle(int, int)
can be any
positive or negative integer. Both methods compute indices using the wonders
of modular arithmetic.
Modifier and Type | Field and Description |
---|---|
private java.awt.Component[] |
components
Components to traverse, stored in the desired traversal order.
|
Constructor and Description |
---|
FocusTraveller(java.util.Collection<java.awt.Component> componentsToTraverse)
Creates the
FocusTraversalPolicy for the given components. |
FocusTraveller(java.awt.Component... componentsToTraverse)
Creates the
FocusTraversalPolicy . |
Modifier and Type | Method and Description |
---|---|
private java.awt.Component |
cycle(java.awt.Component currentComponent,
int delta)
Cycles through components.
|
java.awt.Component |
getComponentAfter(java.awt.Container container,
java.awt.Component component)
Gets the next component after
component . |
java.awt.Component |
getComponentBefore(java.awt.Container container,
java.awt.Component component)
Gets the component before
component . |
java.awt.Component |
getDefaultComponent(java.awt.Container container)
Not used.
|
java.awt.Component |
getFirstComponent(java.awt.Container container)
Gets the first component.
|
java.awt.Component |
getLastComponent(java.awt.Container container)
Gets the last component.
|
private int |
indexCycle(int index,
int delta)
Cycles through valid index values.
|
private final java.awt.Component[] components
public FocusTraveller(java.awt.Component... componentsToTraverse)
FocusTraversalPolicy
.componentsToTraverse
- Components to traverse, in the desired order.
Cannot be null
.public FocusTraveller(java.util.Collection<java.awt.Component> componentsToTraverse)
FocusTraversalPolicy
for the given components.componentsToTraverse
- Components to traverse. Cannot be null
.private int indexCycle(int index, int delta)
index
- Current index.delta
- Index of next component, relative to index
.private java.awt.Component cycle(java.awt.Component currentComponent, int delta)
currentComponent
- Cannot be null
.delta
- Index of next component, relative to currentComponent
.public java.awt.Component getComponentAfter(java.awt.Container container, java.awt.Component component)
component
.getComponentAfter
in class java.awt.FocusTraversalPolicy
container
- Ignored.component
- Cannot be null
.component
.public java.awt.Component getComponentBefore(java.awt.Container container, java.awt.Component component)
component
.getComponentBefore
in class java.awt.FocusTraversalPolicy
container
- Ignored.component
- Cannot be null
.Component
before component
in traversal order.public java.awt.Component getFirstComponent(java.awt.Container container)
getFirstComponent
in class java.awt.FocusTraversalPolicy
container
- Ignored.Component
in traversal order.public java.awt.Component getLastComponent(java.awt.Container container)
getLastComponent
in class java.awt.FocusTraversalPolicy
container
- Ignored.Component
in traversal order.public java.awt.Component getDefaultComponent(java.awt.Container container)
getFirstComponent(Container)
.getDefaultComponent
in class java.awt.FocusTraversalPolicy
container
- Ignored.Component
in traversal order.