- java.lang.Object
-
- java.util.EventObject
-
- java.awt.AWTEvent
-
- java.awt.event.ComponentEvent
-
- java.awt.event.FocusEvent
-
- 实现的所有接口
-
Serializable
public class FocusEvent extends ComponentEvent
低级事件,指示组件已获得或丢失输入焦点。 此低级事件由Component(例如TextField)生成。 该事件将传递给每个注册为使用Component的addFocusListener方法接收此类事件的FocusListener或FocusAdapter对象。 (FocusAdapter对象实现了FocusListener接口。)每个此类侦听器对象在事件发生时获取此FocusEvent。焦点事件有两个级别:永久性和临时性。 当焦点从一个Component直接移动到另一个Component时,例如通过调用requestFocus()或者当用户使用TAB键遍历组件时,会发生永久焦点更改事件。 当临时丢失对象的焦点作为另一个操作的间接结果(例如窗口取消激活或滚动条拖动)时,会发生临时焦点更改事件。 在这种情况下,一旦操作完成,原始焦点状态将自动恢复,或者,对于Window取消激活的情况,当重新激活窗口时。 永久和临时焦点事件都使用FOCUS_GAINED和FOCUS_LOST事件ID传递; 在使用isTemporary()方法的事件中可以区分级别。
每个
FocusEvent记录其原因 - 生成此事件的原因。 原因在创建焦点事件期间分配,可以通过调用getCause()进行检索。如果任何特定
FocusEvent实例的id参数不在FOCUS_FIRST到FOCUS_LAST范围内,FOCUS_FIRST导致未指定的行为。- 从以下版本开始:
- 1.1
- 另请参见:
-
FocusAdapter,FocusListener, Tutorial: Writing a Focus Listener , Serialized Form
-
-
嵌套类汇总
嵌套类 变量和类型 类 描述 static classFocusEvent.Cause这个枚举代表了FocusEvent的原因 - 它发生的原因。
-
字段汇总
字段 变量和类型 字段 描述 static intFOCUS_FIRST用于焦点事件的id范围中的第一个数字。static intFOCUS_GAINED此事件表示Component现在是焦点所有者。static intFOCUS_LAST用于焦点事件的id范围中的最后一个数字。static intFOCUS_LOST此事件表示组件不再是焦点所有者。-
声明的属性在类 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和原因。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 FocusEvent.CausegetCause()返回事件原因。ComponentgetOppositeComponent()返回此焦点更改中涉及的另一个Component。booleanisTemporary()将焦点更改事件标识为临时或永久。StringparamString()返回标识此事件的参数字符串。-
声明方法的类 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
此事件表示组件不再是焦点所有者。- 另请参见:
- 常数字段值
-
-
构造方法详细信息
-
FocusEvent
public FocusEvent(Component source, int id, boolean temporary, Component opposite)
构造具有指定临时状态的FocusEvent对象,Component和Cause.UNKNOWN原因。 相反的Component是另一个参与此焦点变化的Component。 对于FOCUS_GAINED事件,这是失去焦点的Component。 对于FOCUS_LOST事件,这是获得关注的Component。 如果使用本机应用程序,在不同VM中使用Java应用程序或没有其他Component此焦点更改,则相反的Component是null。此方法抛出
IllegalArgumentException如果source为null。- 参数
-
source- 发起此事件的Component -
id- 指示事件类型的整数。 有关允许值的信息,请参阅FocusEvent的类说明 -
temporary- 如果焦点变化是暂时的,则等于true; 否则为false -
opposite- 焦点更改中涉及的另一个组件,或null - 异常
-
IllegalArgumentException- 如果source等于null - 从以下版本开始:
- 1.4
- 另请参见:
-
EventObject.getSource(),AWTEvent.getID(),isTemporary(),getOppositeComponent(),FocusEvent.Cause.UNKNOWN
-
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。此方法抛出
IllegalArgumentException如果source或cause是null。- 参数
-
source- 发起此事件的Component -
id- 指示事件类型的整数。 有关允许值的信息,请参阅FocusEvent的类说明 -
temporary- 如果焦点变化是暂时的,则等于true; 否则为false -
opposite- 焦点更改中涉及的另一个组件,或null -
cause- 焦点事件原因。 - 异常
-
IllegalArgumentException- 如果source等于null或者如果cause等于null - 从以下版本开始:
- 9
- 另请参见:
-
EventObject.getSource(),AWTEvent.getID(),isTemporary(),getOppositeComponent(),FocusEvent.Cause
-
FocusEvent
public FocusEvent(Component source, int id, boolean temporary)
构造一个FocusEvent对象,并标识更改是否是临时的。此方法抛出
IllegalArgumentException如果source为null。- 参数
-
source- 发起此事件的Component -
id- 指示事件类型的整数。 有关允许值的信息,请参阅FocusEvent的类说明 -
temporary- 如果焦点变化是暂时的,则等于true; 否则为false - 异常
-
IllegalArgumentException- 如果source等于null - 另请参见:
-
EventObject.getSource(),AWTEvent.getID(),isTemporary()
-
FocusEvent
public FocusEvent(Component source, int id)
构造一个FocusEvent对象,并将其标识为焦点的永久更改。此方法抛出
IllegalArgumentException如果source为null。- 参数
-
source- 发起此事件的Component -
id- 指示事件类型的整数。 有关允许值的信息,请参阅FocusEvent的类说明 - 异常
-
IllegalArgumentException- 如果source等于null - 另请参见:
-
EventObject.getSource(),AWTEvent.getID()
-
-
方法详细信息
-
isTemporary
public boolean isTemporary()
将焦点更改事件标识为临时或永久。- 结果
-
true如果焦点变化是暂时的; 否则为false
-
getOppositeComponent
public Component getOppositeComponent()
返回此焦点更改中涉及的另一个Component。 对于FOCUS_GAINED事件,这是失去焦点的Component。 对于FOCUS_LOST事件,这是获得焦点的组件。 如果使用本机应用程序,将Java应用程序放在不同的VM或上下文中,或者没有其他Component,则会发生此焦点更改,则返回null。- 结果
- 参与焦点更改的其他Component,或null
- 从以下版本开始:
- 1.4
-
paramString
public String paramString()
返回标识此事件的参数字符串。 此方法对于事件记录和调试很有用。- 重写:
-
paramString类ComponentEvent - 结果
- 标识事件及其属性的字符串
-
getCause
public final FocusEvent.Cause getCause()
返回事件原因。- 结果
-
FocusEvent.Cause值之一 - 从以下版本开始:
- 9
-
-