java.awt.event
public class: FocusEvent [javadoc |
source]
java.lang.Object
java.util.EventObject
java.awt.AWTEvent
java.awt.event.ComponentEvent
java.awt.event.FocusEvent
All Implemented Interfaces:
Serializable
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.
An unspecified behavior will be caused if the {@code id} parameter
of any particular {@code FocusEvent} instance is not
in the range from {@code FOCUS_FIRST} to {@code FOCUS_LAST}.
Field Summary |
---|
public static final int | FOCUS_FIRST | The first number in the range of ids used for focus events. |
public static final int | FOCUS_LAST | The last number in the range of ids used for focus events. |
public static final int | FOCUS_GAINED | This event indicates that the Component is now the focus owner. |
public static final int | FOCUS_LOST | This event indicates that the Component is no longer the focus owner. |
boolean | temporary | A 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 | opposite | 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, a Java application in a different VM, or with
no other Component, then the opposite Component is null. |
Fields inherited from java.awt.AWTEvent: |
---|
id, consumed, focusManagerIsDispatching, isPosted, COMPONENT_EVENT_MASK, CONTAINER_EVENT_MASK, FOCUS_EVENT_MASK, KEY_EVENT_MASK, MOUSE_EVENT_MASK, MOUSE_MOTION_EVENT_MASK, WINDOW_EVENT_MASK, ACTION_EVENT_MASK, ADJUSTMENT_EVENT_MASK, ITEM_EVENT_MASK, TEXT_EVENT_MASK, INPUT_METHOD_EVENT_MASK, INPUT_METHODS_ENABLED_MASK, PAINT_EVENT_MASK, INVOCATION_EVENT_MASK, HIERARCHY_EVENT_MASK, HIERARCHY_BOUNDS_EVENT_MASK, MOUSE_WHEEL_EVENT_MASK, WINDOW_STATE_EVENT_MASK, WINDOW_FOCUS_EVENT_MASK, RESERVED_ID_MAX |
Constructor: |
public FocusEvent(Component source,
int id) {
this(source, id, false);
}
Parameters:
source - The Component that originated the event
id - An integer indicating the type of event.
For information on allowable values, see
the class description for FocusEvent
Throws:
IllegalArgumentException - if source equals {@code null}
Also see:
- getSource()
- getID()
|
public FocusEvent(Component source,
int id,
boolean temporary) {
this(source, id, temporary, null);
}
Parameters:
source - The Component that originated the event
id - 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 otherwise
Throws:
IllegalArgumentException - if source equals {@code null}
Also see:
- getSource()
- getID()
- isTemporary()
|
public FocusEvent(Component source,
int id,
boolean temporary,
Component opposite) {
super(source, id);
this.temporary = temporary;
this.opposite = opposite;
}
Parameters:
source - The Component that originated the event
id - 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 otherwise
opposite - The other Component involved in the focus change,
or null
Throws:
IllegalArgumentException - if source equals {@code null}
Also see:
- getSource()
- getID()
- isTemporary()
- getOppositeComponent()
- since:
1.4 -
|
Methods from java.lang.Object: |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method from java.awt.event.FocusEvent Detail: |
public Component getOppositeComponent() {
if (opposite == null) {
return null;
}
return (SunToolkit.targetToAppContext(opposite) ==
AppContext.getAppContext())
? opposite
: null;
}
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. |
public boolean isTemporary() {
return temporary;
}
Identifies the focus change event as temporary or permanent. |
public String paramString() {
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();
}
Returns a parameter string identifying this event.
This method is useful for event-logging and for debugging. |