Package org.jdesktop.application.session

# Class WindowProperty

java.lang.Object
org.jdesktop.application.session.WindowProperty

All Implemented Interfaces:
  `PropertySupport`

public class WindowProperty extends Object implements PropertySupport
A `sessionState` property for Window.

This class defines how the session state for `Windows` is `saved` and and `restored` in terms of a property called `sessionState`. The Window's `bounds Rectangle` is saved and restored if the dimensions of the Window's screen have not changed.

`WindowProperty` is registered for `Window.class` by default, so this class applies to the AWT `Window`, `Dialog`, and `Frame` class, as well as their Swing counterparts: `JWindow`, `JDialog`, and `JFrame`.

See Also:
  - `SessionStorage.save(java.awt.Component, java.lang.String)`
  - `SessionStorage.restore(java.awt.Component, java.lang.String)`
  - `WindowState`

## Constructor Summary

Constructors
Constructor
Description
`WindowProperty()`

## Method Summary

Modifier and Type
Method
Description
`Object`
`getSessionState(Component c)`
Returns a `WindowState` object for `Window c`.
`void`
`setSessionState(Component c, Object state)`
Restore the `Window's` bounds if the dimensions of its screen (`GraphicsConfiguration`) haven't changed, the number of screens hasn't changed, and the `isLocationByPlatform` property, which indicates that native Window manager should pick the Window's location, is false.

### Methods inherited from class java.lang.Object

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

## Constructor Details

### WindowProperty

public WindowProperty()

## Method Details

### getSessionState

public Object getSessionState(Component c)
Returns a `WindowState` object for `Window c`.

Throws an `IllegalArgumentException` if `Component c` isn't a non-null `Window`.

Specified by:
  `getSessionState` in interface `PropertySupport`
Parameters:
  `c` - the `Window` whose bounds will be stored in a `WindowState` object.
Returns:
  the `WindowState` object
See Also:
  - `setSessionState(java.awt.Component, java.lang.Object)`
  - `WindowState`

### setSessionState

public void setSessionState(Component c, Object state)
Restore the `Window's` bounds if the dimensions of its screen (`GraphicsConfiguration`) haven't changed, the number of screens hasn't changed, and the `isLocationByPlatform` property, which indicates that native Window manager should pick the Window's location, is false. More precisely:

If `state` is non-null, and Window `c's` `GraphicsConfiguration` `bounds` matches the `WindowState's value`, and Window `c's` `isLocationByPlatform` property is false, then set the Window's to the `saved value`.

Throws an `IllegalArgumentException` if `c` is not a `Window` or if `state` is non-null but not an instance of `WindowState`.

Specified by:
  `setSessionState` in interface `PropertySupport`
Parameters:
  `c` - the Window whose state is to be restored
  `state` - the `WindowState` to be restored
See Also:
  - `getSessionState(java.awt.Component)`
  - `WindowState`