ColorSelectionModel (Java Platform SE 8 )
Keywords: javax.swing.colorchooser.ColorSelectionModel interface
Date: 2026-03-16

javax.swing.colorchooser

## Interface ColorSelectionModel

- All Known Implementing Classes:
    DefaultColorSelectionModel

      public interface ColorSelectionModel

  A model that supports selecting a `Color`.
  See Also:
    `Color`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and 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 Detail

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

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.