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 class` | `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 Detail

    - #### 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 Detail

    - #### 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`