ItemSelectable interface.
Generally, ItemSelectable components maintain 
on/off state for one or more items.
The Swing components that fire item events include buttons like
check boxes,
check menu items, 
toggle buttons
etc...and
combo boxes.
Here is some item-event handling code taken from
ComponentEventDemo.java:
//where initialization occurs
checkbox.addItemListener(this);
...
public void itemStateChanged(ItemEvent e) {
    if (e.getStateChange() == ItemEvent.SELECTED) {
        label.setVisible(true);
        ...
    } else {
        label.setVisible(false);
    }
}
Because ItemListener has only one method,
   it has no corresponding adapter class.
| Method | Purpose | 
|---|---|
| itemStateChanged(ItemEvent) | Called just after a state change in the listened-to component. | 
| Method | Purpose | 
|---|---|
| Object getItem() | Returns the component-specific object
    associated with the item whose state changed.
    Often this is a Stringcontaining the text on the selected item. | 
| ItemSelectable getItemSelectable() | Returns the component that fired the item event.
    You can use this instead of the getSourcemethod. | 
| int getStateChange() | Returns the new state of the item.
    The ItemEventclass defines two states:SELECTEDandDESELECTED. | 
| Example | Where Described | Notes | 
|---|---|---|
| ComponentEventDemo | This section and How to Write a Component Listener | Listens for item events on a check box, which determines whether a lable is visible. | 
| CheckBoxDemo | How to Use Check Boxes | Four check boxes share one item listener,
     which uses getItemSelectedto determine
     which check box fired the event. | 
| MenuDemo | How to Use Menus | Listens for item events on a check box menu item. | 
| MenuDemo | How to Use Scroll Panes | Listens for item events on a toggle button. |