Module java.desktop
Package java.awt.event

# 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 int`
`WINDOW_ACTIVATED`
The window-activated event type.
`static int`
`WINDOW_CLOSED`
The window closed event.
`static int`
`WINDOW_CLOSING`
The "window is closing" event.
`static int`
`WINDOW_DEACTIVATED`
The window-deactivated event type.
`static int`
`WINDOW_DEICONIFIED`
The window deiconified event type.
`static int`
`WINDOW_FIRST`
The first number in the range of ids used for window events.
`static int`
`WINDOW_GAINED_FOCUS`
The window-gained-focus event type.
`static int`
`WINDOW_ICONIFIED`
The window iconified event.
`static int`
`WINDOW_LAST`
The last number in the range of ids used for window events.
`static int`
`WINDOW_LOST_FOCUS`
The window-lost-focus event type.
`static int`
`WINDOW_OPENED`
The window opened event.
`static int`
`WINDOW_STATE_CHANGED`
The window-state-changed event type.

### Fields declared in class java.awt.event.ComponentEvent

`COMPONENT_FIRST, COMPONENT_HIDDEN, COMPONENT_LAST, COMPONENT_MOVED, COMPONENT_RESIZED, COMPONENT_SHOWN`

### Fields declared in 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 declared in class java.util.EventObject

`source`

## 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 java.awt.event.ComponentEvent

`getComponent`

### Methods declared in class java.awt.AWTEvent

`consume, getID, isConsumed, setSource, toString`

### Methods declared in class java.util.EventObject

`getSource`

### Methods declared in class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## 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(java.awt.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