Module  java.desktop
软件包  java.awt.event

Class WindowEvent

  • All Implemented Interfaces:
    Serializable


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

    该事件被传递给使用窗口的addWindowListener方法注册接收这种事件的每个WindowListenerWindowAdapter对象。 WindowAdapter对象实现WindowListener接口。)每个这样的侦听器对象在事件发生时得到这个WindowEvent

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

    从以下版本开始:
    1.1
    另请参见:
    WindowAdapterWindowListenerTutorial: Writing a Window ListenerSerialized Form
    • 字段详细信息

      • 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_ICONIFIED

        @Native
        public static final int WINDOW_ICONIFIED
        窗口图标化事件。 当窗口从正常状态更改为最小化状态时,将传递此事件。 对于许多平台,最小化的窗口将显示为窗口的iconImage属性中指定的图标。
        另请参见:
        Frame.setIconImage(java.awt.Image)Constant Field Values
      • 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如果sourcenull

        参数
        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_ACTIVATEDWINDOW_GAINED_FOCUS事件,这是Window失去激活或焦点。 对于WINDOW_DEACTIVATEDWINDOW_LOST_FOCUS事件,这是获得激活或焦点的Window 如果本机应用程序发生此焦点更改,在不同的VM中使用Java应用程序,或者没有其他的Window ,那么相反的窗口是null

        此方法抛出IllegalArgumentException如果sourcenull

        参数
        source - 发起事件的 Window对象
        id - 指示事件类型的整数。 有关允许值的信息,请参阅WindowEvent的类说明。 据预计,此构造将不会被用于其他然后WINDOW_ACTIVATEDWINDOW_DEACTIVATEDWINDOW_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如果sourcenull

        参数
        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如果sourcenull

        参数
        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_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​()
        返回标识此事件的参数字符串。 此方法对于事件记录和调试很有用。
        重写:
        paramStringComponentEvent
        结果
        标识事件及其属性的字符串