# Interface ItemSelectable

All Known Subinterfaces:
  `ButtonModel`

All Known Implementing Classes:
  `AbstractButton, BasicArrowButton, Checkbox, CheckboxMenuItem, Choice, DefaultButtonModel, JButton, JCheckBox, JCheckBoxMenuItem, JComboBox, JMenu, JMenuItem, JRadioButton, JRadioButtonMenuItem, JToggleButton, JToggleButton.ToggleButtonModel, List, MetalComboBoxButton, MetalScrollButton`

public interface ItemSelectable
The interface for objects which contain a set of items for which zero or more can be selected.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addItemListener(ItemListener l)`
  Adds a listener to receive item events when the state of an item is changed by the user.
  `Object[]`
  `getSelectedObjects()`
  Returns the selected items or `null` if no items are selected.
  `void`
  `removeItemListener(ItemListener l)`
  Removes an item listener.

- ## Method Details

  - ### getSelectedObjects

    Object[] getSelectedObjects()
    Returns the selected items or `null` if no items are selected.
    Returns:
      the list of selected objects, or `null`

  - ### addItemListener

    void addItemListener(ItemListener l)
    Adds a listener to receive item events when the state of an item is changed by the user. Item events are not sent when an item's state is set programmatically. If `l` is `null`, no exception is thrown and no action is performed.
    Parameters:
      `l` - the listener to receive events
    See Also:
      - `ItemEvent`

  - ### removeItemListener

    void removeItemListener(ItemListener l)
    Removes an item listener. If `l` is `null`, no exception is thrown and no action is performed.
    Parameters:
      `l` - the listener being removed
    See Also:
      - `ItemEvent`