java.awt.event

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

public class WindowEvent
     
extends ComponentEvent

指示窗口状态改变的低级别事件。当打开、关闭、激活、停用、图标化或取消图标化 Window 对象时,或者焦点转移到 Window 内或移出 Window 时,由 Window 对象生成此低级别事件。

该事件被传递给每一个使用窗口的 addWindowListener 方法注册以接收这种事件的 WindowListenerWindowAdapter 对象。(WindowAdapter 对象实现 WindowListener 接口。)发生事件时,所有此类侦听器对象都将获取此 WindowEvent

从以下版本开始:
JDK1.1
另请参见:
WindowAdapter, WindowListener, Tutorial: Writing a Window Listener, 序列化表格

字段摘要
static int WINDOW_ACTIVATED
          窗口激活事件类型。
static int WINDOW_CLOSED
          窗口关闭事件。
static int WINDOW_CLOSING
          “窗口正在关闭”事件。
static int WINDOW_DEACTIVATED
          窗口停用事件类型。
static int WINDOW_DEICONIFIED
          窗口取消图标化事件类型。
static int WINDOW_FIRST
          用于窗口事件的 id 范围的起始编号。
static int WINDOW_GAINED_FOCUS
          窗口获得焦点事件类型。
static int WINDOW_ICONIFIED
          窗口图标化事件。
static int WINDOW_LAST
          用于窗口事件的 id 范围的结束编号。
static int WINDOW_LOST_FOCUS
          窗口失去焦点事件类型。
static int WINDOW_OPENED
          窗口打开事件。
static int WINDOW_STATE_CHANGED
          窗口状态改变事件类型。
 
从类 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
 
构造方法摘要
WindowEvent(Window source, int id)
          构造一个 WindowEvent 对象。
WindowEvent(Window source, int id, int oldState, int newState)
          构造一个具有指定的以前和新窗口状态的 WindowEvent 对象。
WindowEvent(Window source, int id, Window opposite)
          构造一个具有指定对应 WindowWindowEvent 对象。
WindowEvent(Window source, int id, Window opposite, int oldState, int newState)
          构造一个 WindowEvent 对象。
 
方法摘要
 int getNewState()
          对于 WINDOW_STATE_CHANGED 事件,返回新的窗口状态。
 int getOldState()
          对于 WINDOW_STATE_CHANGED 事件,返回以前的窗口状态。
 Window getOppositeWindow()
          返回在此焦点或活动性变化中所涉及的其他 Window。
 Window getWindow()
          返回事件的发起方。
 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
 

字段详细信息

WINDOW_FIRST

public static final int WINDOW_FIRST
用于窗口事件的 id 范围的起始编号。

另请参见:
常量字段值

WINDOW_OPENED

public static final int WINDOW_OPENED
窗口打开事件。仅在第一次使窗口可见时才传递此事件。

另请参见:
常量字段值

WINDOW_CLOSING

public static final int WINDOW_CLOSING
“窗口正在关闭”事件。当用户试图从窗口的系统菜单中关闭该窗口时传递此事件。在处理此事件时,如果程序没有显式地隐藏或释放窗口,则取消窗口关闭操作。

另请参见:
常量字段值

WINDOW_CLOSED

public static final int WINDOW_CLOSED
窗口关闭事件。调用 dispose 使窗口关闭后传递此事件。

另请参见:
常量字段值

WINDOW_ICONIFIED

public static final int WINDOW_ICONIFIED
窗口图标化事件。窗口从正常状态变为最小化状态时传递此事件。对于很多平台而言,已最小化的窗口将显示为窗口 iconImage 属性中所指定的图标。

另请参见:
Frame.setIconImage(java.awt.Image), 常量字段值

WINDOW_DEICONIFIED

public static final int WINDOW_DEICONIFIED
窗口取消图标化事件类型。窗口从最小化状态变为正常状态时传递此事件。

另请参见:
常量字段值

WINDOW_ACTIVATED

public static final int WINDOW_ACTIVATED
窗口激活事件类型。Window 成为活动 Window 时传递此事件。只有框架或对话框可以成为活动 Window。本机的窗口操作系统可能使用特殊装饰表示活动 Window 或其子窗口,如高亮显示标题栏。活动 Window 要么是聚焦 Window,要么是作为聚焦 Window 所有者的第一个 Frame 或 Dialog。

另请参见:
常量字段值

WINDOW_DEACTIVATED

public static final int WINDOW_DEACTIVATED
窗口停用事件类型。Window 不再是活动 Window 时传递此事件。只有框架或对话框可以成为活动 Window。本机的窗口操作系统可能使用特殊装饰表示活动 Window 或其子窗口,如高亮显示标题栏。活动 Window 要么是聚焦 Window,要么是作为聚焦 Window 所有者的第一个 Frame 或 Dialog。

另请参见:
常量字段值

WINDOW_GAINED_FOCUS

public static final int WINDOW_GAINED_FOCUS
窗口获得焦点事件类型。Window 成为聚焦 Window,即该 Window 或其某个子组件接收键盘事件时传递此事件。

另请参见:
常量字段值

WINDOW_LOST_FOCUS

public static final int WINDOW_LOST_FOCUS
窗口失去焦点事件类型。Window 不再是聚焦 Window,即该 Window 或其某个子组件不再接收键盘事件时传递此事件。

另请参见:
常量字段值

WINDOW_STATE_CHANGED

public static final int WINDOW_STATE_CHANGED
窗口状态改变事件类型。Window 的状态因为图标化、最大化等原因而发生改变时传递此事件。

从以下版本开始:
1.4
另请参见:
常量字段值

WINDOW_LAST

public static final int WINDOW_LAST
用于窗口事件的 id 范围的结束编号。

另请参见:
常量字段值
构造方法详细信息

WindowEvent

public WindowEvent(Window source,
                   int id,
                   Window opposite,
                   int oldState,
                   int newState)
构造一个 WindowEvent 对象。

注意,传递无效的 id 会导致不明确的行为。如果 sourcenull,则此方法抛出 IllegalArgumentException

参数:
source - 产生该事件的 Window 对象
id - 指示事件类型的整数。
opposite - 焦点或活动性变化中涉及的其他窗口,或者为 null
oldState - 窗口以前的状态,用于窗口状态改变事件
newState - 窗口的新状态,用于窗口状态改变事件
抛出:
IllegalArgumentException - 如果 source 为 null
从以下版本开始:
1.4

WindowEvent

public WindowEvent(Window source,
                   int id,
                   Window opposite)
构造一个具有指定对应 WindowWindowEvent 对象。对应 Window 是此焦点或活动性变化中所涉及的其他 Window。对于 WINDOW_ACTIVATEDWINDOW_GAINED_FOCUS 事件,这是失去活动性或焦点的 Window。对于 WINDOW_DEACTIVATEDWINDOW_LOST_FOCUS 事件,这是获得活动性或焦点的 Window。如果本机应用程序、不同 VM 中的 Java 应用程序或没有其他 Window 的窗口发生了这种焦点改变,则对应 Window 为 null

注意,传递无效的 id 会导致不明确的行为。如果 sourcenull,则此方法抛出 IllegalArgumentException

参数:
source - 产生该事件的 Window 对象
id - WINDOW_ACTIVATEDWINDOW_DEACTIVATEDWINDOW_GAINED_FOCUSWINDOW_LOST_FOCUS。因为其他 WindowEvent 类型事件的对应 Window 总是为 null,所以不希望将此构造方法用于这种类型的事件
opposite - 焦点或活动性变化中涉及的其他 Window,或者为 null
抛出:
IllegalArgumentException - 如果 source 为 null
从以下版本开始:
1.4

WindowEvent

public WindowEvent(Window source,
                   int id,
                   int oldState,
                   int newState)
构造一个具有指定的以前和新窗口状态的 WindowEvent 对象。

注意,传递无效的 id 会导致不明确的行为。如果 sourcenull,则此方法抛出 IllegalArgumentException

参数:
source - 产生该事件的 Window 对象
id - WINDOW_STATE_CHANGED 事件类型。因为对于其他 WindowEvent 事件类型而言,以前和新的窗口状态是无意义的,所以不希望将此构造方法用于其他事件类型。
oldState - 表示以前窗口状态的整数
newState - 表示新窗口状态的整数
抛出:
IllegalArgumentException - 如果 source 为 null
从以下版本开始:
1.4

WindowEvent

public WindowEvent(Window source,
                   int id)
构造一个 WindowEvent 对象。

注意,传递无效的 id 会导致不明确的行为。如果 sourcenull,则此方法抛出 IllegalArgumentException

参数:
source - 产生该事件的 Window 对象
id - 指示事件类型的整数
抛出:
IllegalArgumentException - 如果 source 为 null
方法详细信息

getWindow

public Window getWindow()
返回事件的发起方。

返回:
引起该事件的 Window 对象

getOppositeWindow

public Window getOppositeWindow()
返回在此焦点或活动性变化中所涉及的其他 Window。对于 WINDOW_ACTIVATED 或 WINDOW_GAINED_FOCUS 事件,这是失去活动性或焦点的 Window。对于 WINDOW_DEACTIVATED 或 WINDOW_LOST_FOCUS 事件,这是获得活动性或焦点的 Window。对于所有其他 WindowEvent 类型,或者本机应用程序、不同 VM 或上下文中的 Java 应用程序或没有其他 Window 的窗口发生了焦点或活动性变化,则返回 null。

返回:
焦点或活动性变化中所涉及的其他 Window,或者为 null
从以下版本开始:
1.4

getOldState

public int getOldState()
对于 WINDOW_STATE_CHANGED 事件,返回以前的窗口状态。该状态表示为逐位掩码。
  • NORMAL
    指示不设置状态位。
  • ICONIFIED
  • MAXIMIZED_HORIZ
  • MAXIMIZED_VERT
  • MAXIMIZED_BOTH
    连接 MAXIMIZED_HORIZMAXIMIZED_VERT

返回:
以前窗口状态的逐位掩码
从以下版本开始:
1.4
另请参见:
Frame.getExtendedState()

getNewState

public int getNewState()
对于 WINDOW_STATE_CHANGED 事件,返回新的窗口状态。该状态表示为逐位掩码。
  • NORMAL
    指示不设置状态位。
  • ICONIFIED
  • MAXIMIZED_HORIZ
  • MAXIMIZED_VERT
  • MAXIMIZED_BOTH
    连接 MAXIMIZED_HORIZMAXIMIZED_VERT

返回:
新窗口状态的逐位掩码
从以下版本开始:
1.4
另请参见:
Frame.getExtendedState()

paramString

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

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