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
- 参见:
-
内部类总结
内部类 -
字段摘要
字段修饰符和类型Field描述static final int用于焦点事件的 ID 范围内的第一个数字。static final int此事件表示 Component 现在是焦点所有者。static final int用于焦点事件的 ID 范围内的最后一个数字。static final int此事件表示 Component 不再是焦点所有者。在类 java.awt.event.ComponentEvent 中声明的字段
COMPONENT_FIRST, COMPONENT_HIDDEN, COMPONENT_LAST, COMPONENT_MOVED, COMPONENT_RESIZED, COMPONENT_SHOWN在类 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在类 java.util.EventObject 中声明的字段
source -
构造方法总结
构造方法构造方法描述FocusEvent(Component source, int id) 构造一个FocusEvent对象并将其标识为焦点的永久更改。FocusEvent(Component source, int id, boolean temporary) 构造一个FocusEvent对象并识别更改是否是临时的。FocusEvent(Component source, int id, boolean temporary, Component opposite) 构造一个具有指定临时状态的FocusEvent对象,与Component和Cause.UNKNOWN原因相对。FocusEvent(Component source, int id, boolean temporary, Component opposite, FocusEvent.Cause cause) 构造一个具有指定临时状态的FocusEvent对象,与Component和原因相反。 -
方法总结
修饰符和类型方法描述final FocusEvent.CausegetCause()返回事件原因。返回参与此焦点更改的其他 Component。boolean将焦点更改事件标识为临时的或永久的。返回标识此事件的参数字符串。在类 java.awt.event.ComponentEvent 中声明的方法
getComponent在类 java.util.EventObject 中声明的方法
getSource
-
字段详细信息
-
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此事件表示 Component 现在是焦点所有者。- 参见:
-
FOCUS_LOST
public static final int FOCUS_LOST此事件表示 Component 不再是焦点所有者。- 参见:
-
-
构造方法详细信息
-
FocusEvent
构造一个具有指定临时状态的FocusEvent对象,与Component和Cause.UNKNOWN原因相对。相反的Component是参与此焦点更改的另一个Component。对于FOCUS_GAINED事件,这是失去焦点的Component。对于FOCUS_LOST事件,这是获得焦点的Component。如果此焦点更改发生在本机应用程序、不同 VM 中的 Java 应用程序或没有其他Component,则相反的Component是null。如果
source是null,此方法将抛出IllegalArgumentException。- 参数:
source- 发起事件的Componentid- 表示事件类型的整数。有关允许值的信息,请参阅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) 构造一个具有指定临时状态的FocusEvent对象,与Component和原因相反。相反的Component是参与此焦点更改的另一个Component。对于FOCUS_GAINED事件,这是失去焦点的Component。对于FOCUS_LOST事件,这是获得焦点的Component。如果此焦点更改发生在本机应用程序、不同 VM 中的 Java 应用程序或没有其他Component,则相反的Component是null。如果
source或cause是null,则此方法抛出IllegalArgumentException。- 参数:
source- 发起事件的Componentid- 表示事件类型的整数。有关允许值的信息,请参阅FocusEvent的类描述temporary- 如果焦点变化是暂时的,则等于true;false否则opposite- 涉及焦点更改的其他组件,或nullcause- 焦点事件原因。- 抛出:
IllegalArgumentException- 如果source等于null或者如果cause等于null- 自从:
- 9
- 参见:
-
FocusEvent
构造一个FocusEvent对象并识别更改是否是临时的。如果
source是null,此方法将抛出IllegalArgumentException。- 参数:
source- 发起事件的Componentid- 表示事件类型的整数。有关允许值的信息,请参阅FocusEvent的类描述temporary- 如果焦点变化是暂时的,则等于true;false否则- 抛出:
IllegalArgumentException- 如果source等于null- 参见:
-
FocusEvent
构造一个FocusEvent对象并将其标识为焦点的永久更改。如果
source是null,此方法将抛出IllegalArgumentException。- 参数:
source- 发起事件的Componentid- 表示事件类型的整数。有关允许值的信息,请参阅FocusEvent的类描述- 抛出:
IllegalArgumentException- 如果source等于null- 参见:
-
-
方法详情
-
isTemporary
public boolean isTemporary()将焦点更改事件标识为临时的或永久的。- 返回:
true如果焦点改变是暂时的;false否则
-
getOppositeComponent
返回参与此焦点更改的其他 Component。对于 FOCUS_GAINED 事件,这是失去焦点的组件。对于 FOCUS_LOST 事件,这是获得焦点的组件。如果此焦点更改发生在本机应用程序、不同 VM 或上下文中的 Java 应用程序,或者没有其他组件,则返回 null。- 返回:
- 涉及焦点更改的其他 Component,或 null
- 自从:
- 1.4
-
paramString
返回标识此事件的参数字符串。此方法对于事件记录和调试很有用。- 重写:
paramString在类ComponentEvent中- 返回:
- 标识事件及其属性的字符串
-
getCause
返回事件原因。- 返回:
FocusEvent.Cause值之一- 自从:
- 9
-