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