Module java.desktop
Package java.awt.event

## Class ItemEvent

- java.lang.Object
- - java.util.EventObject
  - - java.awt.AWTEvent
    - - java.awt.event.ItemEvent

- All Implemented Interfaces:
    `Serializable`

      public class ItemEvent
      extends AWTEvent

  A semantic event which indicates that an item was selected or deselected. This high-level event is generated by an ItemSelectable object (such as a List) when an item is selected or deselected by the user. The event is passed to every `ItemListener` object which registered to receive such events using the component's `addItemListener` method.

  The object that implements the `ItemListener` interface gets this `ItemEvent` when the event occurs. The listener is spared the details of processing individual mouse movements and mouse clicks, and can instead process a "meaningful" (semantic) event like "item selected" or "item deselected".

  An unspecified behavior will be caused if the `id` parameter of any particular `ItemEvent` instance is not in the range from `ITEM_FIRST` to `ITEM_LAST`.

  The `stateChange` of any `ItemEvent` instance takes one of the following values:

  - `ItemEvent.SELECTED`
  - `ItemEvent.DESELECTED`
  Assigning the value different from listed above will cause an unspecified behavior.
  Since:
    1.1
  See Also:
    `ItemSelectable`, `ItemListener`, Tutorial: Writing an Item Listener, Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static int` | `DESELECTED` | This state-change-value indicates that a selected item was deselected.
    `static int` | `ITEM_FIRST` | The first number in the range of ids used for item events.
    `static int` | `ITEM_LAST` | The last number in the range of ids used for item events.
    `static int` | `ITEM_STATE_CHANGED` | This event id indicates that an item's state changed.
    `static int` | `SELECTED` | This state-change value indicates that an item was selected.

    - ### 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
    --- | ---
    `ItemEvent​(ItemSelectable source, int id, Object item, int stateChange)` | Constructs an `ItemEvent` object.

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `Object` | `getItem()` | Returns the item affected by the event.
    `ItemSelectable` | `getItemSelectable()` | Returns the originator of the event.
    `int` | `getStateChange()` | Returns the type of state change (selected or deselected).
    `String` | `paramString()` | Returns a parameter string identifying this item event.

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

    - #### ITEM_FIRST

          public static final int ITEM_FIRST

      The first number in the range of ids used for item events.
      See Also:
        Constant Field Values

    - #### ITEM_LAST

          public static final int ITEM_LAST

      The last number in the range of ids used for item events.
      See Also:
        Constant Field Values

    - #### ITEM_STATE_CHANGED

          public static final int ITEM_STATE_CHANGED

      This event id indicates that an item's state changed.
      See Also:
        Constant Field Values

    - #### SELECTED

          public static final int SELECTED

      This state-change value indicates that an item was selected.
      See Also:
        Constant Field Values

    - #### DESELECTED

          public static final int DESELECTED

      This state-change-value indicates that a selected item was deselected.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### ItemEvent

          public ItemEvent​(ItemSelectable source,
                           int id,
                           Object item,
                           int stateChange)

      Constructs an `ItemEvent` object.

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

      Parameters:
        `source` - The `ItemSelectable` object that originated the event
        `id` - The integer that identifies the event type. For information on allowable values, see the class description for `ItemEvent`
        `item` - An object -- the item affected by the event
        `stateChange` - An integer that indicates whether the item was selected or deselected. For information on allowable values, see the class description for `ItemEvent`
      Throws:
        `IllegalArgumentException` - if `source` is null
      See Also:
        `getItemSelectable()`, `AWTEvent.getID()`, `getStateChange()`

  - ### Method Detail

    - #### getItemSelectable

          public ItemSelectable getItemSelectable()

      Returns the originator of the event.
      Returns:
        the ItemSelectable object that originated the event.

    - #### getItem

          public Object getItem()

      Returns the item affected by the event.
      Returns:
        the item (object) that was affected by the event

    - #### getStateChange

          public int getStateChange()

      Returns the type of state change (selected or deselected).
      Returns:
        an integer that indicates whether the item was selected or deselected
      See Also:
        `SELECTED`, `DESELECTED`

    - #### paramString

          public String paramString()

      Returns a parameter string identifying this item event. This method is useful for event-logging and for debugging.
      Overrides:
        `paramString` in class `AWTEvent`
      Returns:
        a string identifying the event and its attributes