FocusEventpublic 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 every 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. |
Fields Summary |
---|
public static final int | FOCUS_FIRSTThe first number in the range of ids used for focus events. | public static final int | FOCUS_LASTThe last number in the range of ids used for focus events. | public static final int | FOCUS_GAINEDThis event indicates that the Component is now the focus owner. | public static final int | FOCUS_LOSTThis event indicates that the Component is no longer the focus owner. | boolean | temporaryA focus event can have two different levels, permanent and temporary.
It will be set to true if some operation takes away the focus
temporarily and intends on getting it back once the event is completed.
Otherwise it will be set to false. | transient Component | oppositeThe 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, a Java application in a different VM, or with
no other Component, then the opposite Component is null. | private static final long | serialVersionUID |
Constructors Summary |
---|
public FocusEvent(Component source, int id, boolean temporary, Component opposite)Constructs a FocusEvent object with the
specified temporary state and opposite Component .
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 .
Note that passing in an invalid id results in
unspecified behavior. This method throws an
IllegalArgumentException if source
is null .
super(source, id);
this.temporary = temporary;
this.opposite = opposite;
| public FocusEvent(Component source, int id, boolean temporary)Constructs a FocusEvent object and identifies
whether or not the change is temporary.
Note that passing in an invalid id results in
unspecified behavior. This method throws an
IllegalArgumentException if source
is null .
this(source, id, temporary, null);
| public FocusEvent(Component source, int id)Constructs a FocusEvent object and identifies it
as a permanent change in focus.
Note that passing in an invalid id results in
unspecified behavior. This method throws an
IllegalArgumentException if source
is null .
this(source, id, false);
|
Methods Summary |
---|
public java.awt.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.
if (opposite == null) {
return null;
}
return (SunToolkit.targetToAppContext(opposite) ==
AppContext.getAppContext())
? opposite
: null;
| public boolean | isTemporary()Identifies the focus change event as temporary or permanent.
return temporary;
| public java.lang.String | paramString()Returns a parameter string identifying this event.
This method is useful for event-logging and for debugging.
String typeStr;
switch(id) {
case FOCUS_GAINED:
typeStr = "FOCUS_GAINED";
break;
case FOCUS_LOST:
typeStr = "FOCUS_LOST";
break;
default:
typeStr = "unknown type";
}
return typeStr + (temporary ? ",temporary" : ",permanent") +
",opposite=" + getOppositeComponent();
|
|