- java.lang.Object
-
- java.util.EventObject
-
- java.awt.AWTEvent
-
- java.awt.event.ComponentEvent
-
- java.awt.event.FocusEvent
-
- All Implemented Interfaces:
- Serializable
public class FocusEvent extends ComponentEvent
A low-level event which indicates that a Component has gained or lost the input focus. This low-level event is generated by a Component (such as a TextField). The event is passed to everyFocusListener
orFocusAdapter
object which registered to receive such events using the Component'saddFocusListener
method. (FocusAdapter
objects implement theFocusListener
interface.) Each such listener object gets thisFocusEvent
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.
An unspecified behavior will be caused if the
id
parameter of any particularFocusEvent
instance is not in the range fromFOCUS_FIRST
toFOCUS_LAST
.- Since:
- 1.1
- See Also:
FocusAdapter
,FocusListener
, Tutorial: Writing a Focus Listener, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field and 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.-
Fields inherited from class java.awt.event.ComponentEvent
COMPONENT_FIRST, COMPONENT_HIDDEN, COMPONENT_LAST, COMPONENT_MOVED, COMPONENT_RESIZED, COMPONENT_SHOWN
-
Fields inherited from 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 inherited from class java.util.EventObject
source
-
-
Constructor Summary
Constructors Constructor and Description FocusEvent(Component source, int id)
Constructs aFocusEvent
object and identifies it as a permanent change in focus.FocusEvent(Component source, int id, boolean temporary)
Constructs aFocusEvent
object and identifies whether or not the change is temporary.FocusEvent(Component source, int id, boolean temporary, Component opposite)
Constructs aFocusEvent
object with the specified temporary state and oppositeComponent
.
-
Method Summary
Methods Modifier and Type Method and Description 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 inherited from class java.awt.event.ComponentEvent
getComponent
-
Methods inherited from class java.awt.AWTEvent
consume, getID, isConsumed, setSource, toString
-
Methods inherited from class java.util.EventObject
getSource
-
-
-
-
Field Detail
-
FOCUS_FIRST
public static final int FOCUS_FIRST
The first number in the range of ids used for focus events.- See Also:
- Constant Field Values
-
FOCUS_LAST
public static final int FOCUS_LAST
The last number in the range of ids used for focus events.- See Also:
- Constant Field Values
-
FOCUS_GAINED
public static final int FOCUS_GAINED
This event indicates that the Component is now the focus owner.- See Also:
- Constant Field Values
-
FOCUS_LOST
public static final int FOCUS_LOST
This event indicates that the Component is no longer the focus owner.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
FocusEvent
public FocusEvent(Component source, int id, boolean temporary, Component opposite)
Constructs aFocusEvent
object with the specified temporary state and oppositeComponent
. The oppositeComponent
is the otherComponent
involved in this focus change. For aFOCUS_GAINED
event, this is theComponent
that lost focus. For aFOCUS_LOST
event, this is theComponent
that 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 oppositeComponent
isnull
.This method throws an
IllegalArgumentException
ifsource
isnull
.- Parameters:
source
- TheComponent
that originated the eventid
- 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
otherwiseopposite
- The other Component involved in the focus change, ornull
- Throws:
IllegalArgumentException
- ifsource
equalsnull
- Since:
- 1.4
- See Also:
EventObject.getSource()
,AWTEvent.getID()
,isTemporary()
,getOppositeComponent()
-
FocusEvent
public FocusEvent(Component source, int id, boolean temporary)
Constructs aFocusEvent
object and identifies whether or not the change is temporary.This method throws an
IllegalArgumentException
ifsource
isnull
.- Parameters:
source
- TheComponent
that originated the eventid
- 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:
EventObject.getSource()
,AWTEvent.getID()
,isTemporary()
-
FocusEvent
public FocusEvent(Component source, int id)
Constructs aFocusEvent
object and identifies it as a permanent change in focus.This method throws an
IllegalArgumentException
ifsource
isnull
.- Parameters:
source
- TheComponent
that originated the eventid
- An integer indicating the type of event. For information on allowable values, see the class description forFocusEvent
- Throws:
IllegalArgumentException
- ifsource
equalsnull
- See Also:
EventObject.getSource()
,AWTEvent.getID()
-
-
Method Detail
-
isTemporary
public boolean isTemporary()
Identifies the focus change event as temporary or permanent.- Returns:
true
if the focus change is temporary;false
otherwise
-
getOppositeComponent
public Component 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
public String paramString()
Returns a parameter string identifying this event. This method is useful for event-logging and for debugging.- Overrides:
paramString
in classComponentEvent
- Returns:
- a string identifying the event and its attributes
-
-
Document created the 11/06/2005, last modified the 04/03/2020
Source of the printed document:https://www.gaudry.be/en/java-api-rf-java/awt/event/FocusEvent.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.
References
These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.