java.awt.event

接口
java.lang.Object
  继承者 java.util.EventObject
      继承者 java.awt.AWTEvent
          继承者 java.awt.event.ComponentEvent
              继承者 java.awt.event.FocusEvent
所有已实现的接口:
Serializable

public class FocusEvent
     
extends ComponentEvent

指示 Component 已获得或失去输入焦点的低级别事件。此低级别事件由 Component(比如 TextField)生成。事件被传递给每一个 FocusListenerFocusAdapter 对象,这些对象使用 Component 的 addFocusListener 方法注册,以接收这类事件。(FocusAdapter 对象实现 FocusListener 接口。)当发生该事件时,所有这类侦听器对象都将获得此 FocusEvent

有两个焦点事件级别:持久性的和暂时性的。当焦点直接从一个 Component 移动到另一个 Component 时(比如通过调用 requestFocus(),或者用户使用 TAB 键遍历 Component 时),发生持久性焦点更改事件。当由于另一个操作(比如释放 Window 或拖动 Scrollbar)间接引起 Component 暂时失去焦点时,发生暂时性焦点更改事件。在这种情况下,一旦该操作结束,将自动恢复原始焦点状态,对于释放 Window 的情况来说,重新激活 Window 就能恢复原始焦点状态。持久性焦点事件和暂时性焦点事件使用 FOCUS_GAINED 和 FOCUS_LOST 事件 id 传递;可以使用 isTemporary() 方法区分事件的级别。

从以下版本开始:
1.1
另请参见:
FocusAdapter, FocusListener, Tutorial: Writing a Focus Listener, 序列化表格

字段摘要
static int FOCUS_FIRST
          用于焦点事件的 id 范围的起始编号。
static int FOCUS_GAINED
          此事件指示 Component 现在是焦点所有者。
static int FOCUS_LAST
          用于焦点事件的 id 范围的结束编号。
static int FOCUS_LOST
          此事件指示 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
 
方法摘要
 Component getOppositeComponent()
          返回此焦点更改中涉及的另一个 Component。
 boolean isTemporary()
          将焦点更改事件标识为暂时性的或持久性的。
 String paramString()
          返回标识此事件的参数字符串。
 
从类 java.awt.event.ComponentEvent 继承的方法
getComponent
 
从类 java.awt.AWTEvent 继承的方法
consume, getID, isConsumed, setSource, toString
 
从类 java.util.EventObject 继承的方法
getSource
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

字段详细信息

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

public FocusEvent(Component source,
                  int id,
                  boolean temporary,
                  Component opposite)
构造一个 FocusEvent 对象,它具有指定的暂时状态和对立 Component。对立 Component 是在此焦点更改中涉及的另一个 Component。对于 FOCUS_GAINED 事件,该组件是失去焦点的 Component。对于 FOCUS_LOST 事件,该组件是获得焦点的 Component。如果此焦点更改发生在本机应用程序、不同 VM 中的 Java 应用程序或没有其他 Component 的情况下,则对立 Componentnull

注意,传入无效 id 会导致未指定的行为。如果 sourcenull,则此方法抛出 IllegalArgumentException

参数:
source - 发起事件的 Component
id - FOCUS_GAINEDFOCUS_LOST
temporary - 如果焦点更改是暂时的,则为 true;否则为 false
opposite - 焦点更改中涉及的另一个 Component,或者为 null
抛出:
IllegalArgumentException - 如果 source 为 null

FocusEvent

public FocusEvent(Component source,
                  int id,
                  boolean temporary)
构造一个 FocusEvent 对象,并将标识更改是否为暂时的。

注意,传入无效 id 会导致未指定的行为。如果 sourcenull,则此方法抛出 IllegalArgumentException

参数:
source - 发起事件的 Component
id - 指示事件类型的整数
temporary - 如果焦点更改是暂时的,则为 true;否则为 false
抛出:
IllegalArgumentException - 如果 source 为 null

FocusEvent

public FocusEvent(Component source,
                  int id)
构造一个 FocusEvent 对象,并将它标识为一个持久性焦点更改。

注意,传入无效 id 会导致未指定的行为。如果 sourcenull,则此方法抛出 IllegalArgumentException

参数:
source - 发起事件的 Component
id - 指示事件类型的整数
抛出:
IllegalArgumentException - 如果 source 为 null
方法详细信息

isTemporary

public boolean isTemporary()
将焦点更改事件标识为暂时性的或持久性的。

返回:
如果焦点更改是暂时性的,则返回 true;否则返回 false

getOppositeComponent

public Component getOppositeComponent()
返回此焦点更改中涉及的另一个 Component。对于 FOCUS_GAINED 事件,该组件是失去焦点的 Component。对于 FOCUS_LOST 事件,该组件是获得焦点的 Component。如果此焦点更改发生在本机应用程序、不同 VM 或上下文中的 Java 应用程序或没有其他 Component 的情况下,则返回 null。

返回:
焦点更改中涉及的另一个 Component,或返回 null
从以下版本开始:
1.4

paramString

public String paramString()
返回标识此事件的参数字符串。此方法对于事件记录和调试很有用。

覆盖:
ComponentEvent 中的 paramString
返回:
标识事件及其属性的字符串