- java.lang.Object
-
- java.util.EventObject
-
- java.awt.AWTEvent
-
- java.awt.event.ComponentEvent
-
- java.awt.event.WindowEvent
-
- All Implemented Interfaces:
-
Serializable
public class WindowEvent extends ComponentEvent
指示窗口已更改其状态的低级别事件。 当Window对象被打开,关闭,激活,停用,图标化或去隐藏时,或当焦点转移到窗口中或从窗口传出时,此低级事件由Window对象生成。该事件被传递给使用窗口的
addWindowListener
方法注册接收这种事件的每个WindowListener
或WindowAdapter
对象。 (WindowAdapter
对象实现WindowListener
接口。)每个这样的侦听器对象在事件发生时得到这个WindowEvent
。如果任何特定的
WindowEvent
实例的id
参数不在从WINDOW_FIRST
到WINDOW_LAST
的范围内,将会导致未指定的行为。- 从以下版本开始:
- 1.1
- 另请参见:
-
WindowAdapter
,WindowListener
, Tutorial: Writing a Window Listener , Serialized Form
-
-
Field Summary
Fields Modifier and Type Field 描述 static int
WINDOW_ACTIVATED
窗口激活的事件类型。static int
WINDOW_CLOSED
窗户关闭事件。static int
WINDOW_CLOSING
“窗口正在关闭”事件。static int
WINDOW_DEACTIVATED
窗口停用事件类型。static int
WINDOW_DEICONIFIED
窗口deiconified事件类型。static int
WINDOW_FIRST
用于窗口事件的ids范围中的第一个数字。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
窗口状态更改的事件类型。-
Fields inherited from class 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
-
Fields inherited from class java.awt.event.ComponentEvent
COMPONENT_FIRST, COMPONENT_HIDDEN, COMPONENT_LAST, COMPONENT_MOVED, COMPONENT_RESIZED, COMPONENT_SHOWN
-
Fields inherited from class java.util.EventObject
source
-
-
构造方法摘要
构造方法 Constructor 描述 WindowEvent(Window source, int id)
构造一个WindowEvent
对象。WindowEvent(Window source, int id, int oldState, int newState)
构造具有指定的上一个和新的窗口状态的WindowEvent
对象。WindowEvent(Window source, int id, Window opposite)
构造一个WindowEvent
对象,其指定的对端为Window
。WindowEvent(Window source, int id, Window opposite, int oldState, int newState)
构造一个WindowEvent
对象。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 int
getNewState()
对于WINDOW_STATE_CHANGED
事件返回窗口的新状态。int
getOldState()
对于WINDOW_STATE_CHANGED
事件返回窗口的先前状态。Window
getOppositeWindow()
返回此焦点或激活更改中涉及的其他窗口。Window
getWindow()
返回事件的发起者。String
paramString()
返回标识此事件的参数字符串。-
Methods inherited from class java.awt.event.ComponentEvent
getComponent
-
Methods inherited from class java.util.EventObject
getSource
-
-
-
-
字段详细信息
-
WINDOW_FIRST
public static final int WINDOW_FIRST
用于窗口事件的ids范围中的第一个数字。- 另请参见:
- Constant Field Values
-
WINDOW_OPENED
@Native public static final int WINDOW_OPENED
窗户打开事件。 此事件仅在窗口第一次可见时才提供。- 另请参见:
- Constant Field Values
-
WINDOW_CLOSING
@Native public static final int WINDOW_CLOSING
“窗口正在关闭”事件。 当用户尝试从窗口的系统菜单中关闭窗口时,会传送此事件。 如果程序在处理此事件时没有明确隐藏或处理窗口,则窗口关闭操作将被取消。- 另请参见:
- Constant Field Values
-
WINDOW_CLOSED
@Native public static final int WINDOW_CLOSED
窗户关闭事件。 此事件是由于处理呼叫而导致可显示窗口关闭后发送的。
-
WINDOW_ICONIFIED
@Native public static final int WINDOW_ICONIFIED
窗口图标化事件。 当窗口从正常状态更改为最小化状态时,将传递此事件。 对于许多平台,最小化的窗口将显示为窗口的iconImage属性中指定的图标。
-
WINDOW_DEICONIFIED
@Native public static final int WINDOW_DEICONIFIED
窗口deiconified事件类型。 当窗口从最小化状态更改为正常状态时,将传递此事件。- 另请参见:
- Constant Field Values
-
WINDOW_ACTIVATED
@Native public static final int WINDOW_ACTIVATED
窗口激活的事件类型。 当窗口成为活动窗口时,会传送此事件。 只有框架或对话框可以是活动窗口。 本地窗口系统可以表示活动窗口或其具有特殊装饰的儿童,例如突出显示的标题栏。 活动窗口始终是聚焦的窗口,或者是聚焦窗口的所有者的第一个框架或对话框。- 另请参见:
- Constant Field Values
-
WINDOW_DEACTIVATED
@Native public static final int WINDOW_DEACTIVATED
窗口停用事件类型。 当窗口不再是活动窗口时,会传送此事件。 只有框架或对话框可以是活动窗口。 本地窗口系统可以表示活动窗口或其具有特殊装饰的儿童,例如突出显示的标题栏。 活动窗口始终是聚焦的窗口,或者是聚焦窗口的所有者的第一个框架或对话框。- 另请参见:
- Constant Field Values
-
WINDOW_GAINED_FOCUS
@Native public static final int WINDOW_GAINED_FOCUS
窗口获取焦点事件类型。 当窗口成为聚焦窗口时,会传递此事件,这意味着窗口或其子组件之一将接收键盘事件。- 另请参见:
- Constant Field Values
-
WINDOW_LOST_FOCUS
@Native public static final int WINDOW_LOST_FOCUS
窗口丢失焦点事件类型。 当窗口不再是聚焦窗口时,会传递此事件,这意味着键盘事件将不再传递到窗口或其任何子组件。- 另请参见:
- Constant Field Values
-
WINDOW_STATE_CHANGED
@Native public static final int WINDOW_STATE_CHANGED
窗口状态更改的事件类型。 当窗口的状态由于图标化,最大化等而改变时,会传送此事件。- 从以下版本开始:
- 1.4
- 另请参见:
- Constant Field Values
-
WINDOW_LAST
public static final int WINDOW_LAST
用于窗口事件的ID的范围中的最后一个数字。- 另请参见:
- Constant Field Values
-
-
构造方法详细信息
-
WindowEvent
public WindowEvent(Window source, int id, Window opposite, int oldState, int newState)
构造一个WindowEvent
对象。此方法抛出
IllegalArgumentException
如果source
为null
。- 参数
-
source
- 发起事件的Window
对象 -
id
- 指示事件类型的整数。 有关允许值的信息,请参阅WindowEvent
的类描述 -
opposite
- 涉及焦点或激活更改的其他窗口,或null
-
oldState
- 窗口状态更改事件的窗口的上一个状态。 有关允许的值,请参阅#getOldState()
-
newState
- 窗口状态更改事件的窗口的新状态。 有关允许的值,请参阅#getNewState()
- 异常
-
IllegalArgumentException
- 如果source
为空 - 从以下版本开始:
- 1.4
- 另请参见:
-
getWindow()
,AWTEvent.getID()
,getOppositeWindow()
,getOldState()
,getNewState()
-
WindowEvent
public WindowEvent(Window source, int id, Window opposite)
构造一个WindowEvent
对象,指定的对端为Window
。 相反的Window
是另一个Window
涉及到这个焦点或激活的变化。 对于WINDOW_ACTIVATED
或WINDOW_GAINED_FOCUS
事件,这是Window
失去激活或焦点。 对于WINDOW_DEACTIVATED
或WINDOW_LOST_FOCUS
事件,这是获得激活或焦点的Window
。 如果本机应用程序发生此焦点更改,在不同的VM中使用Java应用程序,或者没有其他的Window
,那么相反的窗口是null
。此方法抛出
IllegalArgumentException
如果source
为null
。- 参数
-
source
- 发起事件的Window
对象 -
id
- 指示事件类型的整数。 有关允许值的信息,请参阅WindowEvent
的类说明。 据预计,此构造将不会被用于其他然后WINDOW_ACTIVATED
,WINDOW_DEACTIVATED
,WINDOW_GAINED_FOCUS
,或WINDOW_LOST_FOCUS
。WindowEvent
类型,因为其他事件类型相反的Window
将永远是null
。 -
opposite
- 其他Window
涉及到焦点或激活更改,或null
- 异常
-
IllegalArgumentException
- 如果source
为空 - 从以下版本开始:
- 1.4
- 另请参见:
-
getWindow()
,AWTEvent.getID()
,getOppositeWindow()
-
WindowEvent
public WindowEvent(Window source, int id, int oldState, int newState)
构造具有指定的上一个和新窗口状态的WindowEvent
对象。此方法抛出
IllegalArgumentException
如果source
为null
。- 参数
-
source
- 发起事件的Window
对象 -
id
- 指示事件类型的整数。 有关允许值的信息,请参阅WindowEvent
的类说明。 据预计,此构造将不会被用于其他然后WINDOW_STATE_CHANGED
WindowEvent
类型,因为以前和新的窗口状态是无意义的其他事件类型。 -
oldState
- 表示上一窗口状态的整数。 关于允许值,请参阅#getOldState()
-
newState
- 表示新窗口状态的整数。 有关允许值,请参阅#getNewState()
- 异常
-
IllegalArgumentException
- 如果source
为空 - 从以下版本开始:
- 1.4
- 另请参见:
-
getWindow()
,AWTEvent.getID()
,getOldState()
,getNewState()
-
WindowEvent
public WindowEvent(Window source, int id)
构造一个WindowEvent
对象。此方法抛出
IllegalArgumentException
如果source
为null
。- 参数
-
source
- 发起事件的Window
对象 -
id
- 表示事件类型的整数。 有关允许值的信息,请参阅WindowEvent
的类说明。 - 异常
-
IllegalArgumentException
- 如果source
为空 - 另请参见:
-
getWindow()
,AWTEvent.getID()
-
-
方法详细信息
-
getWindow
public Window getWindow()
返回事件的发起者。- 结果
- 发起事件的Window对象
-
getOppositeWindow
public Window getOppositeWindow()
返回此焦点或激活更改中涉及的其他窗口。 对于WINDOW_ACTIVATED或WINDOW_GAINED_FOCUS事件,这是失去激活或焦点的窗口。 对于WINDOW_DEACTIVATED或WINDOW_LOST_FOCUS事件,这是获得激活或焦点的窗口。 对于任何其他类型的WindowEvent,或者如果本机应用程序发生焦点或激活更改,在不同的VM或上下文中使用Java应用程序,或者没有其他Window,则返回null。- 结果
- 另一个窗口涉及到焦点或激活更改,或为null
- 从以下版本开始:
- 1.4
-
getOldState
public int getOldState()
对于WINDOW_STATE_CHANGED
事件返回窗口的先前状态。 状态表示为按位掩码。-
NORMAL
表示没有设置状态位。 -
ICONIFIED
-
MAXIMIZED_HORIZ
-
MAXIMIZED_VERT
-
MAXIMIZED_BOTH
连接MAXIMIZED_HORIZ
和MAXIMIZED_VERT
。
- 结果
- 前一窗口状态的按位掩码
- 从以下版本开始:
- 1.4
- 另请参见:
-
Frame.getExtendedState()
-
-
getNewState
public int getNewState()
对于WINDOW_STATE_CHANGED
事件返回窗口的新状态。 状态表示为按位掩码。-
NORMAL
表示没有设置状态位。 -
ICONIFIED
-
MAXIMIZED_HORIZ
-
MAXIMIZED_VERT
-
MAXIMIZED_BOTH
连接MAXIMIZED_HORIZ
和MAXIMIZED_VERT
。
- 结果
- 新窗口状态的按位掩码
- 从以下版本开始:
- 1.4
- 另请参见:
-
Frame.getExtendedState()
-
-
paramString
public String paramString()
返回标识此事件的参数字符串。 此方法对于事件记录和调试很有用。- 重写:
-
paramString
在ComponentEvent
- 结果
- 标识事件及其属性的字符串
-
-