# Class WindowEvent

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
A low-level event that indicates that a window has changed its status. This low-level event is generated by a Window object when it is opened, closed, activated, deactivated, iconified, or deiconified, or when focus is transferred into or out of the Window.

The event is passed to every `WindowListener` or `WindowAdapter` object which registered to receive such events using the window's `addWindowListener` method. (`WindowAdapter` objects implement the `WindowListener` interface.) Each such listener object gets this `WindowEvent` when the event occurs.

An unspecified behavior will be caused if the `id` parameter of any particular `WindowEvent` instance is not in the range from `WINDOW_FIRST` to `WINDOW_LAST`.

Since:
  1.1
See Also:
  - `WindowAdapter`
  - `WindowListener`
  - Tutorial: Writing a Window Listener
  - Serialized Form

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `WINDOW_ACTIVATED`
  The window-activated event type.
  `static final int`
  `WINDOW_CLOSED`
  The window closed event.
  `static final int`
  `WINDOW_CLOSING`
  The "window is closing" event.
  `static final int`
  `WINDOW_DEACTIVATED`
  The window-deactivated event type.
  `static final int`
  `WINDOW_DEICONIFIED`
  The window deiconified event type.
  `static final int`
  `WINDOW_FIRST`
  The first number in the range of ids used for window events.
  `static final int`
  `WINDOW_GAINED_FOCUS`
  The window-gained-focus event type.
  `static final int`
  `WINDOW_ICONIFIED`
  The window iconified event.
  `static final int`
  `WINDOW_LAST`
  The last number in the range of ids used for window events.
  `static final int`
  `WINDOW_LOST_FOCUS`
  The window-lost-focus event type.
  `static final int`
  `WINDOW_OPENED`
  The window opened event.
  `static final int`
  `WINDOW_STATE_CHANGED`
  The window-state-changed event type.

  ### Fields declared in class ComponentEvent

  `COMPONENT_FIRST, COMPONENT_HIDDEN, COMPONENT_LAST, COMPONENT_MOVED, COMPONENT_RESIZED, COMPONENT_SHOWN`
  Modifier and Type
  Field
  Description
  `static final int`
  `COMPONENT_FIRST`
  The first number in the range of ids used for component events.
  `static final int`
  `COMPONENT_HIDDEN`
  This event indicates that the component was rendered invisible.
  `static final int`
  `COMPONENT_LAST`
  The last number in the range of ids used for component events.
  `static final int`
  `COMPONENT_MOVED`
  This event indicates that the component's position changed.
  `static final int`
  `COMPONENT_RESIZED`
  This event indicates that the component's size changed.
  `static final int`
  `COMPONENT_SHOWN`
  This event indicates that the component was made visible.

  ### Fields declared in class 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`
  Modifier and Type
  Field
  Description
  `static final long`
  `ACTION_EVENT_MASK`
  The event mask for selecting action events.
  `static final long`
  `ADJUSTMENT_EVENT_MASK`
  The event mask for selecting adjustment events.
  `static final long`
  `COMPONENT_EVENT_MASK`
  The event mask for selecting component events.
  `protected boolean`
  `consumed`
  Controls whether or not the event is sent back down to the peer once the source has processed it - false means it's sent to the peer; true means it's not.
  `static final long`
  `CONTAINER_EVENT_MASK`
  The event mask for selecting container events.
  `static final long`
  `FOCUS_EVENT_MASK`
  The event mask for selecting focus events.
  `static final long`
  `HIERARCHY_BOUNDS_EVENT_MASK`
  The event mask for selecting hierarchy bounds events.
  `static final long`
  `HIERARCHY_EVENT_MASK`
  The event mask for selecting hierarchy events.
  `protected int`
  `id`
  The event's id.
  `static final long`
  `INPUT_METHOD_EVENT_MASK`
  The event mask for selecting input method events.
  `static final long`
  `INVOCATION_EVENT_MASK`
  The event mask for selecting invocation events.
  `static final long`
  `ITEM_EVENT_MASK`
  The event mask for selecting item events.
  `static final long`
  `KEY_EVENT_MASK`
  The event mask for selecting key events.
  `static final long`
  `MOUSE_EVENT_MASK`
  The event mask for selecting mouse events.
  `static final long`
  `MOUSE_MOTION_EVENT_MASK`
  The event mask for selecting mouse motion events.
  `static final long`
  `MOUSE_WHEEL_EVENT_MASK`
  The event mask for selecting mouse wheel events.
  `static final long`
  `PAINT_EVENT_MASK`
  The event mask for selecting paint events.
  `static final int`
  `RESERVED_ID_MAX`
  The maximum value for reserved AWT event IDs.
  `static final long`
  `TEXT_EVENT_MASK`
  The event mask for selecting text events.
  `static final long`
  `WINDOW_EVENT_MASK`
  The event mask for selecting window events.
  `static final long`
  `WINDOW_FOCUS_EVENT_MASK`
  The event mask for selecting window focus events.
  `static final long`
  `WINDOW_STATE_EVENT_MASK`
  The event mask for selecting window state events.

  ### Fields declared in class EventObject

  `source`
  Modifier and Type
  Field
  Description
  `protected Object`
  `source`
  The object on which the Event initially occurred.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `WindowEvent(Window source, int id)`
  Constructs a `WindowEvent` object.
  `WindowEvent(Window source, int id, int oldState, int newState)`
  Constructs a `WindowEvent` object with the specified previous and new window states.
  `WindowEvent(Window source, int id, Window opposite)`
  Constructs a `WindowEvent` object with the specified opposite `Window`.
  `WindowEvent(Window source, int id, Window opposite, int oldState, int newState)`
  Constructs a `WindowEvent` object.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `getNewState()`
  For `WINDOW_STATE_CHANGED` events returns the new state of the window.
  `int`
  `getOldState()`
  For `WINDOW_STATE_CHANGED` events returns the previous state of the window.
  `Window`
  `getOppositeWindow()`
  Returns the other Window involved in this focus or activation change.
  `Window`
  `getWindow()`
  Returns the originator of the event.
  `String`
  `paramString()`
  Returns a parameter string identifying this event.

  ### Methods declared in class ComponentEvent

  `getComponent`
  Modifier and Type
  Method
  Description
  `Component`
  `getComponent()`
  Returns the originator of the event.

  ### Methods declared in class AWTEvent

  `consume, getID, isConsumed, setSource, toString`
  Modifier and Type
  Method
  Description
  `protected void`
  `consume()`
  Consumes this event, if this event can be consumed.
  `int`
  `getID()`
  Returns the event type.
  `protected boolean`
  `isConsumed()`
  Returns whether this event has been consumed.
  `void`
  `setSource(Object newSource)`
  Retargets an event to a new source.
  `String`
  `toString()`
  Returns a String representation of this object.

  ### Methods declared in class EventObject

  `getSource`
  Modifier and Type
  Method
  Description
  `Object`
  `getSource()`
  The object on which the Event initially occurred.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Field Details

  - ### WINDOW_FIRST

    public static final int WINDOW_FIRST
    The first number in the range of ids used for window events.
    See Also:
      - Constant Field Values

  - ### WINDOW_OPENED

    @Native public static final int WINDOW_OPENED
    The window opened event. This event is delivered only the first time a window is made visible.
    See Also:
      - Constant Field Values

  - ### WINDOW_CLOSING

    @Native public static final int WINDOW_CLOSING
    The "window is closing" event. This event is delivered when the user attempts to close the window from the window's system menu. If the program does not explicitly hide or dispose the window while processing this event, the window close operation will be cancelled.
    See Also:
      - Constant Field Values

  - ### WINDOW_CLOSED

    @Native public static final int WINDOW_CLOSED
    The window closed event. This event is delivered after the displayable window has been closed as the result of a call to dispose.
    See Also:
      - `Component.isDisplayable()`
      - `Window.dispose()`
      - Constant Field Values

  - ### WINDOW_ICONIFIED

    @Native public static final int WINDOW_ICONIFIED
    The window iconified event. This event is delivered when the window has been changed from a normal to a minimized state. For many platforms, a minimized window is displayed as the icon specified in the window's iconImage property.
    See Also:
      - `Window.setIconImage(Image)`
      - Constant Field Values

  - ### WINDOW_DEICONIFIED

    @Native public static final int WINDOW_DEICONIFIED
    The window deiconified event type. This event is delivered when the window has been changed from a minimized to a normal state.
    See Also:
      - Constant Field Values

  - ### WINDOW_ACTIVATED

    @Native public static final int WINDOW_ACTIVATED
    The window-activated event type. This event is delivered when the Window becomes the active Window. Only a Frame or a Dialog can be the active Window. The native windowing system may denote the active Window or its children with special decorations, such as a highlighted title bar. The active Window is always either the focused Window, or the first Frame or Dialog that is an owner of the focused Window.
    See Also:
      - Constant Field Values

  - ### WINDOW_DEACTIVATED

    @Native public static final int WINDOW_DEACTIVATED
    The window-deactivated event type. This event is delivered when the Window is no longer the active Window. Only a Frame or a Dialog can be the active Window. The native windowing system may denote the active Window or its children with special decorations, such as a highlighted title bar. The active Window is always either the focused Window, or the first Frame or Dialog that is an owner of the focused Window.
    See Also:
      - Constant Field Values

  - ### WINDOW_GAINED_FOCUS

    @Native public static final int WINDOW_GAINED_FOCUS
    The window-gained-focus event type. This event is delivered when the Window becomes the focused Window, which means that the Window, or one of its subcomponents, will receive keyboard events.
    See Also:
      - Constant Field Values

  - ### WINDOW_LOST_FOCUS

    @Native public static final int WINDOW_LOST_FOCUS
    The window-lost-focus event type. This event is delivered when a Window is no longer the focused Window, which means keyboard events will no longer be delivered to the Window or any of its subcomponents.
    See Also:
      - Constant Field Values

  - ### WINDOW_STATE_CHANGED

    @Native public static final int WINDOW_STATE_CHANGED
    The window-state-changed event type. This event is delivered when a Window's state is changed by virtue of it being iconified, maximized etc.
    Since:
      1.4
    See Also:
      - Constant Field Values

  - ### WINDOW_LAST

    public static final int WINDOW_LAST
    The last number in the range of ids used for window events.
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### WindowEvent

    public WindowEvent(Window source, int id, Window opposite, int oldState, int newState)
    Constructs a `WindowEvent` object.

    This method throws an `IllegalArgumentException` if `source` is `null`.

    Parameters:
      `source` - The `Window` object that originated the event
      `id` - An integer indicating the type of event. For information on allowable values, see the class description for `WindowEvent`
      `opposite` - The other window involved in the focus or activation change, or `null`
      `oldState` - Previous state of the window for window state change event. See `#getOldState()` for allowable values
      `newState` - New state of the window for window state change event. See `#getNewState()` for allowable values
    Throws:
      `IllegalArgumentException` - if `source` is null
    Since:
      1.4
    See Also:
      - `getWindow()`
      - `AWTEvent.getID()`
      - `getOppositeWindow()`
      - `getOldState()`
      - `getNewState()`

  - ### WindowEvent

    public WindowEvent(Window source, int id, Window opposite)
    Constructs a `WindowEvent` object with the specified opposite `Window`. The opposite `Window` is the other `Window` involved in this focus or activation change. For a `WINDOW_ACTIVATED` or `WINDOW_GAINED_FOCUS` event, this is the `Window` that lost activation or focus. For a `WINDOW_DEACTIVATED` or `WINDOW_LOST_FOCUS` event, this is the `Window` that gained activation or focus. If this focus change occurs with a native application, with a Java application in a different VM, or with no other `Window`, then the opposite Window is `null`.

    This method throws an `IllegalArgumentException` if `source` is `null`.

    Parameters:
      `source` - The `Window` object that originated the event
      `id` - An integer indicating the type of event. For information on allowable values, see the class description for `WindowEvent`. It is expected that this constructor will not be used for other then `WINDOW_ACTIVATED`,`WINDOW_DEACTIVATED`, `WINDOW_GAINED_FOCUS`, or `WINDOW_LOST_FOCUS`. `WindowEvent` types, because the opposite `Window` of other event types will always be `null`.
      `opposite` - The other `Window` involved in the focus or activation change, or `null`
    Throws:
      `IllegalArgumentException` - if `source` is null
    Since:
      1.4
    See Also:
      - `getWindow()`
      - `AWTEvent.getID()`
      - `getOppositeWindow()`

  - ### WindowEvent

    public WindowEvent(Window source, int id, int oldState, int newState)
    Constructs a `WindowEvent` object with the specified previous and new window states.

    This method throws an `IllegalArgumentException` if `source` is `null`.

    Parameters:
      `source` - The `Window` object that originated the event
      `id` - An integer indicating the type of event. For information on allowable values, see the class description for `WindowEvent`. It is expected that this constructor will not be used for other then `WINDOW_STATE_CHANGED` `WindowEvent` types, because the previous and new window states are meaningless for other event types.
      `oldState` - An integer representing the previous window state. See `#getOldState()` for allowable values
      `newState` - An integer representing the new window state. See `#getNewState()` for allowable values
    Throws:
      `IllegalArgumentException` - if `source` is null
    Since:
      1.4
    See Also:
      - `getWindow()`
      - `AWTEvent.getID()`
      - `getOldState()`
      - `getNewState()`

  - ### WindowEvent

    public WindowEvent(Window source, int id)
    Constructs a `WindowEvent` object.

    This method throws an `IllegalArgumentException` if `source` is `null`.

    Parameters:
      `source` - The `Window` object that originated the event
      `id` - An integer indicating the type of event. For information on allowable values, see the class description for `WindowEvent`.
    Throws:
      `IllegalArgumentException` - if `source` is null
    See Also:
      - `getWindow()`
      - `AWTEvent.getID()`

- ## Method Details

  - ### getWindow

    public Window getWindow()
    Returns the originator of the event.
    Returns:
      the Window object that originated the event

  - ### getOppositeWindow

    public Window getOppositeWindow()
    Returns the other Window involved in this focus or activation change. For a WINDOW_ACTIVATED or WINDOW_GAINED_FOCUS event, this is the Window that lost activation or focus. For a WINDOW_DEACTIVATED or WINDOW_LOST_FOCUS event, this is the Window that gained activation or focus. For any other type of WindowEvent, or if the focus or activation change occurs with a native application, with a Java application in a different VM or context, or with no other Window, null is returned.
    Returns:
      the other Window involved in the focus or activation change, or null
    Since:
      1.4

  - ### getOldState

    public int getOldState()
    For `WINDOW_STATE_CHANGED` events returns the previous state of the window. The state is represented as a bitwise mask.
    - `NORMAL`
      Indicates that no state bits are set.
    - `ICONIFIED`
    - `MAXIMIZED_HORIZ`
    - `MAXIMIZED_VERT`
    - `MAXIMIZED_BOTH`
      Concatenates `MAXIMIZED_HORIZ` and `MAXIMIZED_VERT`.
    Returns:
      a bitwise mask of the previous window state
    Since:
      1.4
    See Also:
      - `Frame.getExtendedState()`

  - ### getNewState

    public int getNewState()
    For `WINDOW_STATE_CHANGED` events returns the new state of the window. The state is represented as a bitwise mask.
    - `NORMAL`
      Indicates that no state bits are set.
    - `ICONIFIED`
    - `MAXIMIZED_HORIZ`
    - `MAXIMIZED_VERT`
    - `MAXIMIZED_BOTH`
      Concatenates `MAXIMIZED_HORIZ` and `MAXIMIZED_VERT`.
    Returns:
      a bitwise mask of the new window state
    Since:
      1.4
    See Also:
      - `Frame.getExtendedState()`

  - ### paramString

    public String paramString()
    Returns a parameter string identifying this event. This method is useful for event-logging and for debugging.
    Overrides:
      `paramString` in class `ComponentEvent`
    Returns:
      a string identifying the event and its attributes