- All Implemented Interfaces:
Serializable
FocusListener or
FocusAdapter object which registered to receive such events
using the Component's addFocusListener method.
(FocusAdapter objects implement the FocusListener
interface.) Each such listener object gets this FocusEvent when
the event occurs.
There are two levels of focus events: permanent and temporary. Permanent focus change events occur when focus is directly moved from one Component to another, such as through a call to requestFocus() or as the user uses the TAB key to traverse Components. Temporary focus change events occur when focus is temporarily lost for a Component as the indirect result of another operation, such as Window deactivation or a Scrollbar drag. In this case, the original focus state will automatically be restored once that operation is finished, or, for the case of Window deactivation, when the Window is reactivated. Both permanent and temporary focus events are delivered using the FOCUS_GAINED and FOCUS_LOST event ids; the level may be distinguished in the event using the isTemporary() method.
Every FocusEvent records its cause - the reason why this event was
generated. The cause is assigned during the focus event creation and may be
retrieved by calling getCause().
An unspecified behavior will be caused if the id parameter
of any particular FocusEvent instance is not
in the range from FOCUS_FIRST to FOCUS_LAST.
- Since:
- 1.1
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumThis enum represents the cause of aFocusEvent- the reason why it occurred. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe first number in the range of ids used for focus events.static final intThis event indicates that the Component is now the focus owner.static final intThe last number in the range of ids used for focus events.static final intThis event indicates that the Component is no longer the focus owner.Fields declared in class java.awt.event.ComponentEvent
COMPONENT_FIRST, COMPONENT_HIDDEN, COMPONENT_LAST, COMPONENT_MOVED, COMPONENT_RESIZED, COMPONENT_SHOWNFields declared in class java.awt.AWTEvent
ACTION_EVENT_MASK, ADJUSTMENT_EVENT_MASK, COMPONENT_EVENT_MASK, consumed, CONTAINER_EVENT_MASK, FOCUS_EVENT_MASK, HIERARCHY_BOUNDS_EVENT_MASK, HIERARCHY_EVENT_MASK, id, INPUT_METHOD_EVENT_MASK, INVOCATION_EVENT_MASK, ITEM_EVENT_MASK, KEY_EVENT_MASK, MOUSE_EVENT_MASK, MOUSE_MOTION_EVENT_MASK, MOUSE_WHEEL_EVENT_MASK, PAINT_EVENT_MASK, RESERVED_ID_MAX, TEXT_EVENT_MASK, WINDOW_EVENT_MASK, WINDOW_FOCUS_EVENT_MASK, WINDOW_STATE_EVENT_MASKFields declared in class java.util.EventObject
source -
Constructor Summary
ConstructorsConstructorDescriptionFocusEvent(Component source, int id) Constructs aFocusEventobject and identifies it as a permanent change in focus.FocusEvent(Component source, int id, boolean temporary) Constructs aFocusEventobject and identifies whether or not the change is temporary.FocusEvent(Component source, int id, boolean temporary, Component opposite) Constructs aFocusEventobject with the specified temporary state, oppositeComponentand theCause.UNKNOWNcause.FocusEvent(Component source, int id, boolean temporary, Component opposite, FocusEvent.Cause cause) Constructs aFocusEventobject with the specified temporary state, oppositeComponentand the cause. -
Method Summary
Modifier and TypeMethodDescriptionfinal FocusEvent.CausegetCause()Returns the event cause.Returns the other Component involved in this focus change.booleanIdentifies the focus change event as temporary or permanent.Returns a parameter string identifying this event.Methods declared in class java.awt.event.ComponentEvent
getComponentMethods declared in class java.util.EventObject
getSource
-
Field Details
-
FOCUS_FIRST
public static final int FOCUS_FIRSTThe first number in the range of ids used for focus events.- See Also:
-
FOCUS_LAST
public static final int FOCUS_LASTThe last number in the range of ids used for focus events.- See Also:
-
FOCUS_GAINED
public static final int FOCUS_GAINEDThis event indicates that the Component is now the focus owner.- See Also:
-
FOCUS_LOST
public static final int FOCUS_LOSTThis event indicates that the Component is no longer the focus owner.- See Also:
-
-
Constructor Details
-
FocusEvent
Constructs aFocusEventobject with the specified temporary state, oppositeComponentand theCause.UNKNOWNcause. The oppositeComponentis the otherComponentinvolved in this focus change. For aFOCUS_GAINEDevent, this is theComponentthat lost focus. For aFOCUS_LOSTevent, this is theComponentthat gained focus. If this focus change occurs with a native application, with a Java application in a different VM, or with no otherComponent, then the oppositeComponentisnull.This method throws an
IllegalArgumentExceptionifsourceisnull.- Parameters:
source- TheComponentthat originated the eventid- An integer indicating the type of event. For information on allowable values, see the class description forFocusEventtemporary- Equalstrueif the focus change is temporary;falseotherwiseopposite- The other Component involved in the focus change, ornull- Throws:
IllegalArgumentException- ifsourceequalsnull- Since:
- 1.4
- See Also:
-
FocusEvent
public FocusEvent(Component source, int id, boolean temporary, Component opposite, FocusEvent.Cause cause) Constructs aFocusEventobject with the specified temporary state, oppositeComponentand the cause. The oppositeComponentis the otherComponentinvolved in this focus change. For aFOCUS_GAINEDevent, this is theComponentthat lost focus. For aFOCUS_LOSTevent, this is theComponentthat gained focus. If this focus change occurs with a native application, with a Java application in a different VM, or with no otherComponent, then the oppositeComponentisnull.This method throws an
IllegalArgumentExceptionifsourceorcauseisnull.- Parameters:
source- TheComponentthat originated the eventid- An integer indicating the type of event. For information on allowable values, see the class description forFocusEventtemporary- Equalstrueif the focus change is temporary;falseotherwiseopposite- The other Component involved in the focus change, ornullcause- The focus event cause.- Throws:
IllegalArgumentException- ifsourceequalsnullor ifcauseequalsnull- Since:
- 9
- See Also:
-
FocusEvent
Constructs aFocusEventobject and identifies whether or not the change is temporary.This method throws an
IllegalArgumentExceptionifsourceisnull.- Parameters:
source- TheComponentthat originated the eventid- An integer indicating the type of event. For information on allowable values, see the class description forFocusEventtemporary- Equalstrueif the focus change is temporary;falseotherwise- Throws:
IllegalArgumentException- ifsourceequalsnull- See Also:
-
FocusEvent
Constructs aFocusEventobject and identifies it as a permanent change in focus.This method throws an
IllegalArgumentExceptionifsourceisnull.- Parameters:
source- TheComponentthat originated the eventid- An integer indicating the type of event. For information on allowable values, see the class description forFocusEvent- Throws:
IllegalArgumentException- ifsourceequalsnull- See Also:
-
-
Method Details
-
isTemporary
public boolean isTemporary()Identifies the focus change event as temporary or permanent.- Returns:
trueif the focus change is temporary;falseotherwise
-
getOppositeComponent
Returns the other Component involved in this focus change. For a FOCUS_GAINED event, this is the Component that lost focus. For a FOCUS_LOST event, this is the Component that gained focus. If this focus change occurs with a native application, with a Java application in a different VM or context, or with no other Component, then null is returned.- Returns:
- the other Component involved in the focus change, or null
- Since:
- 1.4
-
paramString
Returns a parameter string identifying this event. This method is useful for event-logging and for debugging.- Overrides:
paramStringin classComponentEvent- Returns:
- a string identifying the event and its attributes
-
getCause
Returns the event cause.- Returns:
- one of
FocusEvent.Causevalues - Since:
- 9
-