# Class InternalFrameFocusTraversalPolicy

java.lang.Object
java.awt.FocusTraversalPolicy
javax.swing.InternalFrameFocusTraversalPolicy

Direct Known Subclasses:
  `SortingFocusTraversalPolicy`

public abstract class InternalFrameFocusTraversalPolicy extends FocusTraversalPolicy
A FocusTraversalPolicy which can optionally provide an algorithm for determining a JInternalFrame's initial Component. The initial Component is the first to receive focus when the JInternalFrame is first selected. By default, this is the same as the JInternalFrame's default Component to focus.

Since:
  1.4

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`InternalFrameFocusTraversalPolicy()`
Constructor for subclasses to call.

## Method Summary

Modifier and Type
Method
Description
`Component`
`getInitialComponent(JInternalFrame frame)`
Returns the Component that should receive the focus when a JInternalFrame is selected for the first time.

### Methods declared in class FocusTraversalPolicy

`getComponentAfter, getComponentBefore, getDefaultComponent, getFirstComponent, getInitialComponent, getLastComponent`
Modifier and Type
Method
Description
`abstract 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 or a focus traversal policy provider.
`abstract 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 or a focus traversal policy provider.
`abstract Component`
`getDefaultComponent(Container aContainer)`
Returns the default Component to focus.
`abstract Component`
`getFirstComponent(Container aContainer)`
Returns the first Component in the traversal cycle.
`Component`
`getInitialComponent(Window window)`
Returns the Component that should receive the focus when a Window is made visible for the first time.
`abstract Component`
`getLastComponent(Container aContainer)`
Returns the last Component in the traversal cycle.

### Methods declared in class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
Modifier and Type
Method
Description
`protected Object`
`clone()`
Creates and returns a copy of this object.
`boolean`
`equals(Object obj)`
Indicates whether some other object is "equal to" this one.
`protected void`
`finalize()`
Deprecated, for removal: This API element is subject to removal in a future version.
Finalization is deprecated and subject to removal in a future release.
`final Class<?>`
`getClass()`
Returns the runtime class of this `Object`.
`int`
`hashCode()`
Returns a hash code value for this object.
`final void`
`notify()`
Wakes up a single thread that is waiting on this object's monitor.
`final void`
`notifyAll()`
Wakes up all threads that are waiting on this object's monitor.
`String`
`toString()`
Returns a string representation of the object.
`final void`
`wait()`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
`final void`
`wait(long timeoutMillis)`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
`final void`
`wait(long timeoutMillis, int nanos)`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

## Constructor Details

### InternalFrameFocusTraversalPolicy

protected InternalFrameFocusTraversalPolicy()
Constructor for subclasses to call.

## Method Details

### getInitialComponent

public Component getInitialComponent(JInternalFrame frame)
Returns the Component that should receive the focus when a JInternalFrame is selected for the first time. Once the JInternalFrame has been selected by a call to `setSelected(true)`, the initial Component will not be used again. Instead, if the JInternalFrame loses and subsequently regains selection, or is made invisible or undisplayable and subsequently made visible and displayable, the JInternalFrame's most recently focused Component will become the focus owner. The default implementation of this method returns the JInternalFrame's default Component to focus.

Parameters:
  `frame` - the JInternalFrame whose initial Component is to be returned
Returns:
  the Component that should receive the focus when frame is selected for the first time, or null if no suitable Component can be found
Throws:
  `IllegalArgumentException` - if window is null
See Also:
  - `JInternalFrame.getMostRecentFocusOwner()`