ColorSelectionModel (Java SE 23 & JDK 23)
Description: declaration: module: java.desktop, package: javax.swing.colorchooser, interface: ColorSelectionModel
Keywords: javax.swing.colorchooser.ColorSelectionModel interface

# Interface ColorSelectionModel

All Known Implementing Classes:
  `DefaultColorSelectionModel`

public interface ColorSelectionModel
A model that supports selecting a `Color`.

See Also:
  - `Color`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addChangeListener(ChangeListener listener)`
  Adds `listener` as a listener to changes in the model.
  `Color`
  `getSelectedColor()`
  Returns the selected `Color` which should be non-`null`.
  `void`
  `removeChangeListener(ChangeListener listener)`
  Removes `listener` as a listener to changes in the model.
  `void`
  `setSelectedColor(Color color)`
  Sets the selected color to `color`.

- ## Method Details

  - ### getSelectedColor

    Color getSelectedColor()
    Returns the selected `Color` which should be non-`null`.
    Returns:
      the selected `Color`
    See Also:
      - `setSelectedColor(java.awt.Color)`

  - ### setSelectedColor

    void setSelectedColor(Color color)
    Sets the selected color to `color`. Note that setting the color to `null` is undefined and may have unpredictable results. This method fires a state changed event if it sets the current color to a new non-`null` color.
    Parameters:
      `color` - the new `Color`
    See Also:
      - `getSelectedColor()`
      - `addChangeListener(javax.swing.event.ChangeListener)`

  - ### addChangeListener

    void addChangeListener(ChangeListener listener)
    Adds `listener` as a listener to changes in the model.
    Parameters:
      `listener` - the `ChangeListener` to be added

  - ### removeChangeListener

    void removeChangeListener(ChangeListener listener)
    Removes `listener` as a listener to changes in the model.
    Parameters:
      `listener` - the `ChangeListener` to be removed