Module java.desktop
Package java.awt.event

Class WindowEvent

所有已实现的接口:
Serializable

public class WindowEvent extends ComponentEvent
表示窗口已更改其状态的低级事件。当窗口对象打开、关闭、激活、停用、最小化、最大化或取消最小化,或者焦点转移到窗口内或窗口外时,将生成此低级事件。

事件将传递给每个使用窗口的addWindowListener方法注册接收此类事件的WindowListenerWindowAdapter对象。(WindowAdapter对象实现WindowListener接口。)每个此类侦听器对象在事件发生时都会收到此WindowEvent

如果任何特定WindowEvent实例的id参数不在WINDOW_FIRSTWINDOW_LAST范围内,将导致未指定的行为。

自:
1.1
参见:
  • Field Details

    • WINDOW_FIRST

      public static final int WINDOW_FIRST
      窗口事件使用的id范围中的第一个数字。
      参见:
    • WINDOW_OPENED

      @Native public static final int WINDOW_OPENED
      窗口打开事件。此事件仅在首次使窗口可见时传递。
      参见:
    • WINDOW_CLOSING

      @Native public static final int WINDOW_CLOSING
      "窗口正在关闭"事件。当用户尝试从窗口的系统菜单关闭窗口时,将传递此事件。如果程序在处理此事件时未显式隐藏或处理窗口,则窗口关闭操作将被取消。
      参见:
    • WINDOW_CLOSED

      @Native public static final int WINDOW_CLOSED
      窗口关闭事件。此事件在可显示窗口由于调用dispose而被关闭后传递。
      参见:
    • WINDOW_ICONIFIED

      @Native public static final int WINDOW_ICONIFIED
      窗口最小化事件。当窗口从正常状态更改为最小化状态时,将传递此事件。对于许多平台,最小化窗口显示为窗口的iconImage属性中指定的图标。
      参见:
    • WINDOW_DEICONIFIED

      @Native public static final int WINDOW_DEICONIFIED
      取消最小化窗口事件类型。当窗口从最小化状态更改为正常状态时,将传递此事件。
      参见:
    • WINDOW_ACTIVATED

      @Native public static final int WINDOW_ACTIVATED
      窗口激活事件类型。当窗口成为活动窗口时,将传递此事件。只有Frame或Dialog可以是活动窗口。本机窗口系统可能用特殊装饰表示活动窗口或其子窗口,例如突出显示的标题栏。活动窗口始终是焦点窗口,或者是焦点窗口的所有者中的第一个Frame或Dialog。
      参见:
    • WINDOW_DEACTIVATED

      @Native public static final int WINDOW_DEACTIVATED
      窗口停用事件类型。当窗口不再是活动窗口时,将传递此事件。只有Frame或Dialog可以是活动窗口。本机窗口系统可能用特殊装饰表示活动窗口或其子窗口,例如突出显示的标题栏。活动窗口始终是焦点窗口,或者是焦点窗口的所有者中的第一个Frame或Dialog。
      参见:
    • WINDOW_GAINED_FOCUS

      @Native public static final int WINDOW_GAINED_FOCUS
      窗口获得焦点事件类型。当窗口成为焦点窗口时,将传递此事件,这意味着窗口或其子组件之一将接收键盘事件。
      参见:
    • WINDOW_LOST_FOCUS

      @Native public static final int WINDOW_LOST_FOCUS
      窗口失去焦点事件类型。当窗口不再是焦点窗口时,将传递此事件,这意味着键盘事件将不再传递给窗口或其任何子组件。
      参见:
    • WINDOW_STATE_CHANGED

      @Native public static final int WINDOW_STATE_CHANGED
      窗口状态更改事件类型。当窗口的状态通过最小化、最大化等方式更改时,将传递此事件。
      自:
      1.4
      参见:
    • WINDOW_LAST

      public static final int WINDOW_LAST
      窗口事件使用的id范围中的最后一个数字。
      参见:
  • Constructor Details

    • WindowEvent

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

      如果sourcenull,此方法将抛出IllegalArgumentException

      参数:
      source - 产生事件的Window对象
      id - 指示事件类型的整数。有关允许值的信息,请参阅WindowEvent的类描述
      opposite - 与焦点或激活更改相关的另一个窗口,或null
      oldState - 窗口状态更改事件的先前窗口状态。有关允许值,请参阅#getOldState()
      newState - 窗口状态更改事件的新窗口状态。有关允许值,请参阅#getNewState()
      抛出:
      IllegalArgumentException - 如果source为null
      自:
      1.4
      参见:
    • WindowEvent

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

      如果sourcenull,此方法将抛出IllegalArgumentException

      参数:
      source - 触发事件的Window对象
      id - 表示事件类型的整数。有关允许值的信息,请参阅WindowEvent类描述。预计此构造函数仅用于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对象。

      如果sourcenull,此方法将抛出IllegalArgumentException异常。

      参数:
      source - 触发事件的Window对象
      id - 表示事件类型的整数。有关允许值的信息,请参阅WindowEvent类描述。预计此构造函数仅用于WINDOW_STATE_CHANGED WindowEvent类型,因为其他事件类型的先前和新窗口状态对于其他事件类型是没有意义的。
      oldState - 表示先前窗口状态的整数。请参阅#getOldState()以获取允许的值
      newState - 表示新窗口状态的整数。请参阅#getNewState()以获取允许的值
      抛出:
      IllegalArgumentException - 如果source为null
      自版本:
      1.4
      参见:
    • WindowEvent

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

      如果sourcenull,此方法将抛出IllegalArgumentException异常。

      参数:
      source - 触发事件的Window对象
      id - 表示事件类型的整数。有关允许值的信息,请参阅WindowEvent类描述。
      抛出:
      IllegalArgumentException - 如果source为null
      参见:
  • Method Details

    • getWindow

      public Window getWindow()
      返回事件的发起者。
      返回:
      触发事件的Window对象
    • getOppositeWindow

      public Window getOppositeWindow()
      返回与此焦点或激活更改相关的另一个窗口。对于WINDOW_ACTIVATED或WINDOW_GAINED_FOCUS事件,这是失去激活或焦点的窗口。对于WINDOW_DEACTIVATED或WINDOW_LOST_FOCUS事件,这是获得激活或焦点的窗口。对于任何其他类型的WindowEvent,或者如果焦点或激活更改发生在本机应用程序中,与不同VM或上下文中的Java应用程序中,或者没有其他窗口中,将返回null。
      返回:
      与焦点或激活更改相关的另一个窗口,或null
      自版本:
      1.4
    • getOldState

      public int getOldState()
      对于WINDOW_STATE_CHANGED事件,返回窗口的先前状态。状态表示为位掩码。
      • NORMAL
        表示没有设置任何状态位。
      • ICONIFIED
      • MAXIMIZED_HORIZ
      • MAXIMIZED_VERT
      • MAXIMIZED_BOTH
        连接MAXIMIZED_HORIZMAXIMIZED_VERT
      返回:
      先前窗口状态的位掩码
      自版本:
      1.4
      参见:
    • getNewState

      public int getNewState()
      对于WINDOW_STATE_CHANGED事件,返回窗口的新状态。状态表示为位掩码。
      • NORMAL
        表示没有设置任何状态位。
      • ICONIFIED
      • MAXIMIZED_HORIZ
      • MAXIMIZED_VERT
      • MAXIMIZED_BOTH
        连接MAXIMIZED_HORIZMAXIMIZED_VERT
      返回:
      新窗口状态的位掩码
      自版本:
      1.4
      参见:
    • paramString

      public String paramString()
      返回标识此事件的参数字符串。此方法对事件记录和调试很有用。
      覆盖:
      paramString 在类 ComponentEvent
      返回:
      标识事件及其属性的字符串