# 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 final int`
`DESELECTED`
This state-change-value indicates that a selected item was deselected.
`static final int`
`ITEM_FIRST`
The first number in the range of ids used for item events.
`static final int`
`ITEM_LAST`
The last number in the range of ids used for item events.
`static final int`
`ITEM_STATE_CHANGED`
This event id indicates that an item's state changed.
`static final int`
`SELECTED`
This state-change value indicates that an item was selected.

### Fields declared in class 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 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 AWTEvent

`consume, getID, isConsumed, setSource, toString`

### Methods declared in class EventObject

`getSource`

### Methods declared in class Object

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

## Field Details

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

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

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