- 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 class
FocusEvent.Cause
这个枚举代表了FocusEvent
的原因 - 它发生的原因。
-
字段汇总
字段 变量和类型 字段 描述 static int
FOCUS_FIRST
用于焦点事件的id范围中的第一个数字。static int
FOCUS_GAINED
此事件表示Component现在是焦点所有者。static int
FOCUS_LAST
用于焦点事件的id范围中的最后一个数字。static int
FOCUS_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.Cause
getCause()
返回事件原因。Component
getOppositeComponent()
返回此焦点更改中涉及的另一个Component。boolean
isTemporary()
将焦点更改事件标识为临时或永久。String
paramString()
返回标识此事件的参数字符串。-
声明方法的类 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
-
-