Module java.desktop
Package java.awt.desktop

# Class UserSessionEvent

java.lang.Object
java.util.EventObject
java.awt.desktop.AppEvent
java.awt.desktop.UserSessionEvent

All Implemented Interfaces:
  `Serializable`

public final class UserSessionEvent extends AppEvent
Event sent when the user session has been changed. Some systems may provide a reason of a user session change.

Since:
  9
See Also:
  - `UserSessionListener.userSessionActivated(UserSessionEvent)`
  - `UserSessionListener.userSessionDeactivated(UserSessionEvent)`
  - Serialized Form

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static enum`
`UserSessionEvent.Reason`
Kinds of available reasons of user session change.

## Field Summary

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

`source`

## Constructor Summary

Constructors
Constructor
Description
`UserSessionEvent(UserSessionEvent.Reason reason)`
Constructs a `UserSessionEvent`.

## Method Summary

Modifier and Type
Method
Description
`UserSessionEvent.Reason`
`getReason()`
Gets a reason of the user session change.

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

`getSource, toString`

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

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

## Constructor Details

### UserSessionEvent

public UserSessionEvent(UserSessionEvent.Reason reason)
Constructs a `UserSessionEvent`.

Parameters:
  `reason` - the reason of the user session change
Throws:
  `HeadlessException` - if `GraphicsEnvironment.isHeadless()` returns `true`
  `UnsupportedOperationException` - if Desktop API is not supported on the current platform
See Also:
  - `Desktop.isDesktopSupported()`
  - `GraphicsEnvironment.isHeadless()`

## Method Details

### getReason

public UserSessionEvent.Reason getReason()
Gets a reason of the user session change.

Returns:
  reason a reason
See Also:
  - `UserSessionEvent.Reason.UNSPECIFIED`
  - `UserSessionEvent.Reason.CONSOLE`
  - `UserSessionEvent.Reason.REMOTE`
  - `UserSessionEvent.Reason.LOCK`