Class FocusEvent
- All Implemented Interfaces:
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
.
- Since:
- 1.1
- See Also:
Nested Class Summary
Modifier and Type | Class | Description |
---|---|---|
static enum |
FocusEvent.Cause |
This enum represents the cause of a FocusEvent - the reason why it occurred. |
Field Summary
Modifier and Type | Field | Description |
---|---|---|
static final int |
FOCUS_FIRST |
The first number in the range of ids used for focus events. |
static final int |
FOCUS_GAINED |
This event indicates that the Component is now the focus owner. |
static final int |
FOCUS_LAST |
The last number in the range of ids used for focus events. |
static final int |
FOCUS_LOST |
This 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_SHOWN
Fields 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_MASK
Fields declared in class java.util.EventObject
source
Constructor Summary
Constructor | Description |
---|---|
FocusEvent |
Constructs a FocusEvent object and identifies it as a permanent change in focus. |
FocusEvent |
Constructs a FocusEvent object and identifies whether or not the change is temporary. |
FocusEvent |
Constructs a FocusEvent object with the specified temporary state, opposite Component and the Cause.UNKNOWN cause. |
FocusEvent |
Constructs a FocusEvent object with the specified temporary state, opposite Component and the cause. |
Method Summary
Modifier and Type | Method | Description |
---|---|---|
final 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. |
Methods declared in class java.awt.event.ComponentEvent
getComponent
Methods declared in class java.util.EventObject
getSource
Field Details
FOCUS_FIRST
public static final int FOCUS_FIRST
- See Also:
FOCUS_LAST
public static final int FOCUS_LAST
- See Also:
FOCUS_GAINED
public static final int FOCUS_GAINED
- See Also:
FOCUS_LOST
public static final int FOCUS_LOST
- See Also:
Constructor Details
FocusEvent
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
.
- Parameters:
-
source
- TheComponent
that originated the event -
id
- An integer indicating the type of event. For information on allowable values, see the class description forFocusEvent
-
temporary
- Equalstrue
if the focus change is temporary;false
otherwise -
opposite
- The other Component involved in the focus change, ornull
- Throws:
-
IllegalArgumentException
- ifsource
equalsnull
- Since:
- 1.4
- See Also:
FocusEvent
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
.
- Parameters:
-
source
- TheComponent
that originated the event -
id
- An integer indicating the type of event. For information on allowable values, see the class description forFocusEvent
-
temporary
- Equalstrue
if the focus change is temporary;false
otherwise -
opposite
- The other Component involved in the focus change, ornull
-
cause
- The focus event cause. - Throws:
-
IllegalArgumentException
- ifsource
equalsnull
or ifcause
equalsnull
- Since:
- 9
- See Also:
FocusEvent
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
.
- Parameters:
-
source
- TheComponent
that originated the event -
id
- An integer indicating the type of event. For information on allowable values, see the class description forFocusEvent
-
temporary
- Equalstrue
if the focus change is temporary;false
otherwise - Throws:
-
IllegalArgumentException
- ifsource
equalsnull
- See Also:
FocusEvent
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
.
- Parameters:
-
source
- TheComponent
that originated the event -
id
- An integer indicating the type of event. For information on allowable values, see the class description forFocusEvent
- Throws:
-
IllegalArgumentException
- ifsource
equalsnull
- See Also:
Method Details
isTemporary
public boolean isTemporary()
- Returns:
-
true
if the focus change is temporary;false
otherwise
getOppositeComponent
public Component getOppositeComponent()
- Returns:
- the other Component involved in the focus change, or null
- Since:
- 1.4
paramString
public String paramString()
- Overrides:
-
paramString
in classComponentEvent
- Returns:
- a string identifying the event and its attributes
getCause
public final FocusEvent.Cause getCause()
- Returns:
- one of
FocusEvent.Cause
values - Since:
- 9
© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.desktop/java/awt/event/FocusEvent.html