java.lang.Object
java.util.EventObject
java.awt.AWTEvent
java.awt.event.ComponentEvent
java.awt.event.FocusEvent
- 所有已实现的接口:
-
Serializable
表示组件已获得或失去输入焦点的低级事件。此低级事件由组件(例如TextField)生成。事件传递给每个使用组件的
addFocusListener方法注册接收此类事件的FocusListener或FocusAdapter对象。(FocusAdapter对象实现FocusListener接口。)每个这样的监听器对象在事件发生时都会收到此FocusEvent。
焦点事件有两个级别:永久和临时。永久焦点更改事件发生在焦点直接从一个组件移动到另一个组件时,例如通过调用requestFocus()或用户使用TAB键遍历组件。临时焦点更改事件发生在焦点暂时丢失为组件的间接结果时,例如窗口停用或滚动条拖动。在这种情况下,一旦该操作完成,或者对于窗口停用的情况,当窗口重新激活时,原始焦点状态将自动恢复。永久和临时焦点事件使用FOCUS_GAINED和FOCUS_LOST事件ID进行传递;可以使用isTemporary()方法在事件中区分级别。
每个FocusEvent记录其原因 - 生成此事件的原因。原因在焦点事件创建期间分配,并且可以通过调用getCause()来检索。
如果任何特定FocusEvent实例的id参数不在从FOCUS_FIRST到FOCUS_LAST的范围内,则将导致未指定的行为。
- 自:
- 1.1
- 参见:
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int用于焦点事件的ID范围中的第一个数字。static final int此事件指示组件现在是焦点所有者。static final int用于焦点事件的ID范围中的最后一个数字。static final int此事件指示组件不再是焦点所有者。Fields declared in class java.awt.event.ComponentEvent
COMPONENT_FIRST, COMPONENT_HIDDEN, COMPONENT_LAST, COMPONENT_MOVED, COMPONENT_RESIZED, COMPONENT_SHOWNFields 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_MASKFields declared in class java.util.EventObject
source -
Constructor Summary
ConstructorsConstructorDescriptionFocusEvent(Component source, int id) 构造一个FocusEvent对象,并将其标识为焦点永久更改。FocusEvent(Component source, int id, boolean temporary) 构造一个FocusEvent对象,并标识更改是否为临时。FocusEvent(Component source, int id, boolean temporary, Component opposite) 使用指定的临时状态、相反的Component和Cause.UNKNOWN原因构造一个FocusEvent对象。FocusEvent(Component source, int id, boolean temporary, Component opposite, FocusEvent.Cause cause) 使用指定的临时状态、相反的Component和原因构造一个FocusEvent对象。 -
Method Summary
Modifier and TypeMethodDescriptionfinal FocusEvent.CausegetCause()返回事件原因。返回此焦点更改中涉及的另一个组件。boolean将焦点更改事件标识为临时或永久。返回标识此事件的参数字符串。Methods declared in class java.awt.event.ComponentEvent
getComponentMethods declared in class java.util.EventObject
getSource
-
Field Details
-
FOCUS_FIRST
public static final int FOCUS_FIRST用于焦点事件的ID范围中的第一个数字。- 参见:
-
FOCUS_LAST
public static final int FOCUS_LAST用于焦点事件的ID范围中的最后一个数字。- 参见:
-
FOCUS_GAINED
public static final int FOCUS_GAINED此事件指示组件现在是焦点所有者。- 参见:
-
FOCUS_LOST
public static final int FOCUS_LOST此事件指示组件不再是焦点所有者。- 参见:
-
-
Constructor Details
-
FocusEvent
使用指定的临时状态、相反的Component和Cause.UNKNOWN原因构造一个FocusEvent对象。相反的Component是此焦点更改中涉及的另一个Component。对于FOCUS_GAINED事件,这是失去焦点的Component。对于FOCUS_LOST事件,这是获得焦点的Component。如果此焦点更改发生在本机应用程序、不同VM中的Java应用程序或没有其他Component的情况下,则相反的Component为null。如果
source为null,则此方法会抛出IllegalArgumentException。- 参数:
-
source- 生成事件的Component -
id- 指示事件类型的整数。有关允许值的信息,请参阅FocusEvent的类描述 -
temporary- 如果焦点更改是临时的,则等于true;否则为false -
opposite- 参与焦点更改的另一个组件,或null - 抛出:
-
IllegalArgumentException- 如果source等于null - 自:
- 1.4
- 参见:
-
FocusEvent
public FocusEvent(Component source, int id, boolean temporary, Component opposite, FocusEvent.Cause cause) 使用指定的临时状态、相反的Component和原因构造一个FocusEvent对象。相反的Component是此焦点更改中涉及的另一个Component。对于FOCUS_GAINED事件,这是失去焦点的Component。对于FOCUS_LOST事件,这是获得焦点的Component。如果此焦点更改发生在本机应用程序、不同VM中的Java应用程序或没有其他Component的情况下,则相反的Component为null。如果
source或cause为null,则此方法会抛出IllegalArgumentException。- 参数:
-
source- 生成事件的Component -
id- 指示事件类型的整数。有关允许值的信息,请参阅FocusEvent的类描述 -
temporary- 如果焦点更改是临时的,则等于true;否则为false -
opposite- 参与焦点更改的另一个组件,或null -
cause- 焦点事件原因 - 抛出:
-
IllegalArgumentException- 如果source等于null或如果cause等于null - 自:
- 9
- 参见:
-
FocusEvent
构造一个FocusEvent对象,并标识更改是否为临时。如果
source为null,则此方法会抛出IllegalArgumentException。- 参数:
-
source- 生成事件的Component -
id- 指示事件类型的整数。有关允许值的信息,请参阅FocusEvent的类描述 -
temporary- 如果焦点更改是临时的,则等于true;否则为false - 抛出:
-
IllegalArgumentException- 如果source等于null - 参见:
-
FocusEvent
构造一个FocusEvent对象,并将其标识为焦点永久更改。如果
source为null,则此方法会抛出IllegalArgumentException。- 参数:
-
source- 触发事件的Component -
id- 表示事件类型的整数。有关允许值的信息,请参阅FocusEvent的类描述 - 抛出:
-
IllegalArgumentException- 如果source等于null - 参见:
-
-
Method Details
-
isTemporary
public boolean isTemporary()将焦点变更事件标识为临时或永久。- 返回:
-
如果焦点变更是临时的,则返回
true; 否则返回false
-
getOppositeComponent
返回与此焦点变更相关的另一个Component。对于FOCUS_GAINED事件,这是失去焦点的Component。对于FOCUS_LOST事件,这是获得焦点的Component。如果此焦点变更发生在本机应用程序中,与不同VM或上下文中的Java应用程序中,或者没有其他Component中,则返回null。- 返回:
- 与焦点变更相关的另一个Component,或null
- 自:
- 1.4
-
paramString
返回标识此事件的参数字符串。此方法对于事件记录和调试很有用。- 覆盖:
-
paramString在类ComponentEvent - 返回:
- 一个标识事件及其属性的字符串
-
getCause
返回事件原因。- 返回:
- FocusEvent.Cause值之一
- 自:
- 9
-