模块 java.desktop

类 WindowEvent

所有已实现的接口:
Serializable

public class WindowEvent extends ComponentEvent
指示窗口已更改其状态的低级别事件。此低级事件由 Window 对象在打开、关闭、激活、停用、图标化或去图标化时,或者当焦点移入或移出 Window 时生成。

该事件被传递给每个注册为使用窗口的 addWindowListener 方法接收此类事件的 WindowListenerWindowAdapter 对象。 (WindowAdapter 对象实现了 WindowListener 接口。)当事件发生时,每个这样的监听器对象都会得到这个 WindowEvent

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

自从:
1.1
参见:
  • 字段详细信息

    • 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
      窗口关闭事件。此事件在可显示窗口因调用处置而关闭后传递。
      参见:
    • 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
      窗口激活的事件类型。当 Window 成为活动 Window 时传递此事件。只有 Frame 或 Dialog 可以是活动窗口。本机窗口系统可以用特殊装饰表示活动窗口或其子窗口,例如突出显示的标题栏。活动窗口始终是焦点窗口,或者是焦点窗口所有者的第一个框架或对话框。
      参见:
    • WINDOW_DEACTIVATED

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

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

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

      @Native public static final int WINDOW_STATE_CHANGED
      窗口状态改变事件类型。当窗口的状态因图标化、最大化等而改变时,将传递此事件。
      自从:
      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 对象。

      如果 sourcenull,此方法将抛出 IllegalArgumentException

      参数:
      source - 发起事件的 Window 对象
      id - 表示事件类型的整数。有关允许值的信息,请参阅 WindowEvent 的类描述
      opposite - 涉及焦点或激活更改的其他窗口,或 null
      oldState - 窗口状态更改事件的窗口的先前状态。请参阅 #getOldState() 以了解允许值
      newState - 窗口状态更改事件的窗口新状态。请参阅 #getNewState() 了解允许值
      抛出:
      IllegalArgumentException - 如果 source 为空
      自从:
      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 ,则相反的 Window 是 null

      如果 sourcenull,此方法将抛出 IllegalArgumentException

      参数:
      source - 发起事件的 Window 对象
      id - 表示事件类型的整数。有关允许值的信息,请参阅 WindowEvent 的类描述。预计此构造函数不会用于其他 WINDOW_ACTIVATEDWINDOW_DEACTIVATEDWINDOW_GAINED_FOCUSWINDOW_LOST_FOCUSWindowEvent 类型,因为与其他事件类型相反的 Window 总是 null
      opposite - 另一个 Window 涉及焦点或激活变化,或 null
      抛出:
      IllegalArgumentException - 如果 source 为空
      自从:
      1.4
      参见:
    • WindowEvent

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

      如果 sourcenull,此方法将抛出 IllegalArgumentException

      参数:
      source - 发起事件的 Window 对象
      id - 表示事件类型的整数。有关允许值的信息,请参阅 WindowEvent 的类描述。预计此构造函数不会用于其他 then WINDOW_STATE_CHANGED WindowEvent 类型,因为之前和新的窗口状态对于其他事件类型没有意义。
      oldState - 表示前一个窗口状态的整数。请参阅 #getOldState() 以了解允许值
      newState - 表示新窗口状态的整数。请参阅 #getNewState() 了解允许值
      抛出:
      IllegalArgumentException - 如果 source 为空
      自从:
      1.4
      参见:
    • WindowEvent

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

      如果 sourcenull,此方法将抛出 IllegalArgumentException

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

    • getWindow

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

      public Window  getOppositeWindow()
      返回涉及此焦点或激活更改的其他 Window。对于 WINDOW_ACTIVATED 或 WINDOW_GAINED_FOCUS 事件,这是失去激活或焦点的窗口。对于 WINDOW_DEACTIVATED 或 WINDOW_LOST_FOCUS 事件,这是获得激活或焦点的窗口。对于任何其他类型的 WindowEvent,或者如果焦点或激活更改发生在本机应用程序、Java 应用程序在不同的 VM 或上下文中,或者没有其他 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
      参见:
    • 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
      返回:
      标识事件及其属性的字符串