public class FocusTraveller extends 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 Component[] |
components
Components to traverse, stored in the desired traversal order.
|
Constructor and Description |
---|
FocusTraveller(Collection<Component> componentsToTraverse)
Creates the
FocusTraversalPolicy for the given components. |
FocusTraveller(Component... componentsToTraverse)
Creates the
FocusTraversalPolicy . |
Modifier and Type | Method and Description |
---|---|
private Component |
cycle(Component currentComponent,
int delta)
Cycles through components.
|
Component |
getComponentAfter(Container container,
Component component)
Gets the next component after
component . |
Component |
getComponentBefore(Container container,
Component component)
Gets the component before
component . |
Component |
getDefaultComponent(Container container)
Not used.
|
Component |
getFirstComponent(Container container)
Gets the first component.
|
Component |
getLastComponent(Container container)
Gets the last component.
|
private int |
indexCycle(int index,
int delta)
Cycles through valid index values.
|
getInitialComponent
private final Component[] components
public FocusTraveller(Component... componentsToTraverse)
FocusTraversalPolicy
.componentsToTraverse
- Components to traverse, in the desired order.
Cannot be null
.public FocusTraveller(Collection<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 Component cycle(Component currentComponent, int delta)
currentComponent
- Cannot be null
.delta
- Index of next component, relative to currentComponent
.public Component getComponentAfter(Container container, Component component)
component
.getComponentAfter
in class FocusTraversalPolicy
container
- Ignored.component
- Cannot be null
.component
.public Component getComponentBefore(Container container, Component component)
component
.getComponentBefore
in class FocusTraversalPolicy
container
- Ignored.component
- Cannot be null
.Component
before component
in traversal order.public Component getFirstComponent(Container container)
getFirstComponent
in class FocusTraversalPolicy
container
- Ignored.Component
in traversal order.public Component getLastComponent(Container container)
getLastComponent
in class FocusTraversalPolicy
container
- Ignored.Component
in traversal order.public Component getDefaultComponent(Container container)
getFirstComponent(Container)
.getDefaultComponent
in class FocusTraversalPolicy
container
- Ignored.Component
in traversal order.