Serializable
public class FocusEvent extends ComponentEvent
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
.
FocusAdapter
,
FocusListener
,
Tutorial: Writing a Focus Listener,
Serialized FormModifier and Type | Class | Description |
---|---|---|
static class |
FocusEvent.Cause |
This enum represents the cause of a
FocusEvent - the reason why it
occurred. |
Modifier and Type | Field | Description |
---|---|---|
static int |
FOCUS_FIRST |
The first number in the range of ids used for focus events.
|
static int |
FOCUS_GAINED |
This event indicates that the Component is now the focus owner.
|
static int |
FOCUS_LAST |
The last number in the range of ids used for focus events.
|
static int |
FOCUS_LOST |
This event indicates that the Component is no longer the focus owner.
|
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_MASK
COMPONENT_FIRST, COMPONENT_HIDDEN, COMPONENT_LAST, COMPONENT_MOVED, COMPONENT_RESIZED, COMPONENT_SHOWN
source
Constructor | Description |
---|---|
FocusEvent(Component source,
int id) |
Constructs a
FocusEvent object and identifies it
as a permanent change in focus. |
FocusEvent(Component source,
int id,
boolean temporary) |
Constructs a
FocusEvent object and identifies
whether or not the change is temporary. |
FocusEvent(Component source,
int id,
boolean temporary,
Component opposite) |
Constructs a
FocusEvent object with the
specified temporary state, opposite Component and the
Cause.UNKNOWN cause. |
FocusEvent(Component source,
int id,
boolean temporary,
Component opposite,
FocusEvent.Cause cause) |
Constructs a
FocusEvent object with the
specified temporary state, opposite Component and the cause. |
Modifier and Type | Method | Description |
---|---|---|
FocusEvent.Cause |
getCause() |
Returns the event cause.
|
Component |
getOppositeComponent() |
Returns the other Component involved in this focus change.
|
boolean |
isTemporary() |
Identifies the focus change event as temporary or permanent.
|
String |
paramString() |
Returns a parameter string identifying this event.
|
getComponent
getSource
public static final int FOCUS_FIRST
public static final int FOCUS_LAST
public static final int FOCUS_GAINED
public static final int FOCUS_LOST
public FocusEvent(Component source, int id, boolean temporary, Component opposite)
FocusEvent
object with the
specified temporary state, opposite Component
and the
Cause.UNKNOWN
cause.
The opposite Component
is 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 with no other Component
, then the opposite
Component
is null
.
This method throws an
IllegalArgumentException
if source
is null
.
source
- The Component
that originated the eventid
- An integer indicating the type of event.
For information on allowable values, see
the class description for FocusEvent
temporary
- Equals true
if the focus change is temporary;
false
otherwiseopposite
- The other Component involved in the focus change,
or null
IllegalArgumentException
- if source
equals null
EventObject.getSource()
,
AWTEvent.getID()
,
isTemporary()
,
getOppositeComponent()
,
FocusEvent.Cause.UNKNOWN
public FocusEvent(Component source, int id, boolean temporary, Component opposite, FocusEvent.Cause cause)
FocusEvent
object with the
specified temporary state, opposite Component
and the cause.
The opposite Component
is 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 with no other Component
, then the opposite
Component
is null
.
This method throws an
IllegalArgumentException
if source
or cause
is null
.
source
- The Component
that originated the eventid
- An integer indicating the type of event.
For information on allowable values, see
the class description for FocusEvent
temporary
- Equals true
if the focus change is temporary;
false
otherwiseopposite
- The other Component involved in the focus change,
or null
cause
- The focus event cause.IllegalArgumentException
- if source
equals null
or if cause
equals null
EventObject.getSource()
,
AWTEvent.getID()
,
isTemporary()
,
getOppositeComponent()
,
FocusEvent.Cause
public FocusEvent(Component source, int id, boolean temporary)
FocusEvent
object and identifies
whether or not the change is temporary.
This method throws an
IllegalArgumentException
if source
is null
.
source
- The Component
that originated the eventid
- An integer indicating the type of event.
For information on allowable values, see
the class description for FocusEvent
temporary
- Equals true
if the focus change is temporary;
false
otherwiseIllegalArgumentException
- if source
equals null
EventObject.getSource()
,
AWTEvent.getID()
,
isTemporary()
public FocusEvent(Component source, int id)
FocusEvent
object and identifies it
as a permanent change in focus.
This method throws an
IllegalArgumentException
if source
is null
.
source
- The Component
that originated the eventid
- An integer indicating the type of event.
For information on allowable values, see
the class description for FocusEvent
IllegalArgumentException
- if source
equals null
EventObject.getSource()
,
AWTEvent.getID()
public boolean isTemporary()
true
if the focus change is temporary;
false
otherwisepublic Component getOppositeComponent()
public String paramString()
paramString
in class ComponentEvent
public final FocusEvent.Cause getCause()
FocusEvent.Cause
values Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2017, Oracle and/or its affiliates. 500 Oracle Parkway
Redwood Shores, CA 94065 USA. All rights reserved.
DRAFT 9-internal+0-adhoc.mlchung.jdk9-jdeps