## Uses of Interface
javax.swing.event.ChangeListener

- Packages that use ChangeListener
  Package | Description
  --- | ---
  javax.swing | Provides a set of "lightweight" (all-Java language) components that, to the maximum degree possible, work the same on all platforms.
  javax.swing.colorchooser | Contains classes and interfaces used by the `JColorChooser` component.
  javax.swing.plaf.basic | Provides user interface objects built according to the Basic look and feel.
  javax.swing.text | Provides classes and interfaces that deal with editable and noneditable text components.

- - ### Uses of ChangeListener in javax.swing

    Classes in javax.swing that implement ChangeListener
    Modifier and Type | Class | Description
    --- | --- | ---
    `protected class` | `AbstractButton.ButtonChangeListener` Extends `ChangeListener` to be serializable.
    `protected class` | `JCheckBoxMenuItem.AccessibleJCheckBoxMenuItem` This class implements accessibility support for the `JCheckBoxMenuItem` class.
    `protected class` | `JMenu.AccessibleJMenu` This class implements accessibility support for the `JMenu` class.
    `protected class` | `JMenuItem.AccessibleJMenuItem` This class implements accessibility support for the `JMenuItem` class.
    `protected class` | `JRadioButtonMenuItem.AccessibleJRadioButtonMenuItem` This class implements accessibility support for the `JRadioButtonMenuItem` class.
    `protected class` | `JScrollPane.AccessibleJScrollPane` This class implements accessibility support for the `JScrollPane` class.
    `protected class` | `JSpinner.AccessibleJSpinner` `AccessibleJSpinner` implements accessibility support for the `JSpinner` class.
    `static class` | `JSpinner.DateEditor` An editor for a `JSpinner` whose model is a `SpinnerDateModel`.
    `static class` | `JSpinner.DefaultEditor` A simple base class for more specialized editors that displays a read-only view of the model's current value with a `JFormattedTextField`.
    `static class` | `JSpinner.ListEditor` An editor for a `JSpinner` whose model is a `SpinnerListModel`.
    `static class` | `JSpinner.NumberEditor` An editor for a `JSpinner` whose model is a `SpinnerNumberModel`.
    `protected class` | `JTabbedPane.AccessibleJTabbedPane` This class implements accessibility support for the `JTabbedPane` class.
    `protected class` | `JTabbedPane.ModelListener` We pass `ModelChanged` events along to the listeners with the tabbedpane (instead of the model itself) as the event source.
    `protected class` | `ProgressMonitor.AccessibleProgressMonitor` `AccessibleProgressMonitor` implements accessibility support for the `ProgressMonitor` class.

    Fields in javax.swing declared as ChangeListener
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected ChangeListener` | JProgressBar.`changeListener` Listens for change events sent by the progress bar's model, redispatching them to change-event listeners registered upon this progress bar.
    `protected ChangeListener` | JTabbedPane.`changeListener` The `changeListener` is the listener we add to the model.
    `protected ChangeListener` | JSlider.`changeListener` The changeListener (no suffix) is the listener we add to the slider's model.
    `protected ChangeListener` | AbstractButton.`changeListener` The button model's `changeListener`.

    Methods in javax.swing that return ChangeListener
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected ChangeListener` | JProgressBar.`createChangeListener()` Subclasses that want to handle change events from the model differently can override this to return an instance of a custom `ChangeListener` implementation.
    `protected ChangeListener` | JTabbedPane.`createChangeListener()` Subclasses that want to handle `ChangeEvents` differently can override this to return a subclass of `ModelListener` or another `ChangeListener` implementation.
    `protected ChangeListener` | JSlider.`createChangeListener()` Subclasses that want to handle `ChangeEvent`s from the model differently can override this to return an instance of a custom `ChangeListener` implementation.
    `protected ChangeListener` | AbstractButton.`createChangeListener()` Subclasses that want to handle `ChangeEvents` differently can override this to return another `ChangeListener` implementation.
    `ChangeListener[]` | DefaultBoundedRangeModel.`getChangeListeners()` Returns an array of all the change listeners registered on this `DefaultBoundedRangeModel`.
    `ChangeListener[]` | DefaultSingleSelectionModel.`getChangeListeners()` Returns an array of all the change listeners registered on this `DefaultSingleSelectionModel`.
    `ChangeListener[]` | DefaultButtonModel.`getChangeListeners()` Returns an array of all the change listeners registered on this `DefaultButtonModel`.
    `ChangeListener[]` | AbstractSpinnerModel.`getChangeListeners()` Returns an array of all the `ChangeListener`s added to this AbstractSpinnerModel with addChangeListener().
    `ChangeListener[]` | JProgressBar.`getChangeListeners()` Returns an array of all the `ChangeListener`s added to this progress bar with `addChangeListener`.
    `ChangeListener[]` | JTabbedPane.`getChangeListeners()` Returns an array of all the `ChangeListener`s added to this `JTabbedPane` with `addChangeListener`.
    `ChangeListener[]` | JSlider.`getChangeListeners()` Returns an array of all the `ChangeListener`s added to this JSlider with addChangeListener().
    `ChangeListener[]` | JSpinner.`getChangeListeners()` Returns an array of all the `ChangeListener`s added to this JSpinner with addChangeListener().
    `ChangeListener[]` | JViewport.`getChangeListeners()` Returns an array of all the `ChangeListener`s added to this JViewport with addChangeListener().
    `ChangeListener[]` | MenuSelectionManager.`getChangeListeners()` Returns an array of all the `ChangeListener`s added to this MenuSelectionManager with addChangeListener().
    `ChangeListener[]` | AbstractButton.`getChangeListeners()` Returns an array of all the `ChangeListener`s added to this AbstractButton with addChangeListener().

    Methods in javax.swing with parameters of type ChangeListener
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | DefaultBoundedRangeModel.`addChangeListener(ChangeListener l)` Adds a `ChangeListener`.
    `void` | DefaultSingleSelectionModel.`addChangeListener(ChangeListener l)` Adds a `ChangeListener` to the button.
    `void` | DefaultButtonModel.`addChangeListener(ChangeListener l)` Adds a `ChangeListener` to the model.
    `void` | AbstractSpinnerModel.`addChangeListener(ChangeListener l)` Adds a ChangeListener to the model's listener list.
    `void` | JProgressBar.`addChangeListener(ChangeListener l)` Adds the specified `ChangeListener` to the progress bar.
    `void` | JTabbedPane.`addChangeListener(ChangeListener l)` Adds a `ChangeListener` to this tabbedpane.
    `void` | JSlider.`addChangeListener(ChangeListener l)` Adds a ChangeListener to the slider.
    `void` | SpinnerModel.`addChangeListener(ChangeListener l)` Adds a `ChangeListener` to the model's listener list.
    `void` | JSpinner.`addChangeListener(ChangeListener listener)` Adds a listener to the list that is notified each time a change to the model occurs.
    `void` | BoundedRangeModel.`addChangeListener(ChangeListener x)` Adds a ChangeListener to the model's listener list.
    `void` | JViewport.`addChangeListener(ChangeListener l)` Adds a `ChangeListener` to the list that is notified each time the view's size, position, or the viewport's extent size has changed.
    `void` | ButtonModel.`addChangeListener(ChangeListener l)` Adds a `ChangeListener` to the model.
    `void` | MenuSelectionManager.`addChangeListener(ChangeListener l)` Adds a ChangeListener to the button.
    `void` | SingleSelectionModel.`addChangeListener(ChangeListener listener)` Adds listener as a listener to changes in the model.
    `void` | AbstractButton.`addChangeListener(ChangeListener l)` Adds a `ChangeListener` to the button.
    `void` | DefaultBoundedRangeModel.`removeChangeListener(ChangeListener l)` Removes a `ChangeListener`.
    `void` | DefaultSingleSelectionModel.`removeChangeListener(ChangeListener l)` Removes a `ChangeListener` from the button.
    `void` | DefaultButtonModel.`removeChangeListener(ChangeListener l)` Removes a `ChangeListener` from the model.
    `void` | AbstractSpinnerModel.`removeChangeListener(ChangeListener l)` Removes a ChangeListener from the model's listener list.
    `void` | JProgressBar.`removeChangeListener(ChangeListener l)` Removes a `ChangeListener` from the progress bar.
    `void` | JTabbedPane.`removeChangeListener(ChangeListener l)` Removes a `ChangeListener` from this tabbedpane.
    `void` | JSlider.`removeChangeListener(ChangeListener l)` Removes a ChangeListener from the slider.
    `void` | SpinnerModel.`removeChangeListener(ChangeListener l)` Removes a `ChangeListener` from the model's listener list.
    `void` | JSpinner.`removeChangeListener(ChangeListener listener)` Removes a `ChangeListener` from this spinner.
    `void` | BoundedRangeModel.`removeChangeListener(ChangeListener x)` Removes a ChangeListener from the model's listener list.
    `void` | JViewport.`removeChangeListener(ChangeListener l)` Removes a `ChangeListener` from the list that's notified each time the views size, position, or the viewports extent size has changed.
    `void` | ButtonModel.`removeChangeListener(ChangeListener l)` Removes a `ChangeListener` from the model.
    `void` | MenuSelectionManager.`removeChangeListener(ChangeListener l)` Removes a ChangeListener from the button.
    `void` | SingleSelectionModel.`removeChangeListener(ChangeListener listener)` Removes listener as a listener to changes in the model.
    `void` | AbstractButton.`removeChangeListener(ChangeListener l)` Removes a ChangeListener from the button.

  - ### Uses of ChangeListener in javax.swing.colorchooser

    Methods in javax.swing.colorchooser that return ChangeListener
    Modifier and Type | Method | Description
    --- | --- | ---
    `ChangeListener[]` | DefaultColorSelectionModel.`getChangeListeners()` Returns an array of all the `ChangeListener`s added to this `DefaultColorSelectionModel` with `addChangeListener`.

    Methods in javax.swing.colorchooser with parameters of type ChangeListener
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | DefaultColorSelectionModel.`addChangeListener(ChangeListener l)` Adds a `ChangeListener` to the model.
    `void` | ColorSelectionModel.`addChangeListener(ChangeListener listener)` Adds `listener` as a listener to changes in the model.
    `void` | DefaultColorSelectionModel.`removeChangeListener(ChangeListener l)` Removes a `ChangeListener` from the model.
    `void` | ColorSelectionModel.`removeChangeListener(ChangeListener listener)` Removes `listener` as a listener to changes in the model.

  - ### Uses of ChangeListener in javax.swing.plaf.basic

    Classes in javax.swing.plaf.basic that implement ChangeListener
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `BasicButtonListener` Button Listener
    `class` | `BasicMenuUI.ChangeHandler` As of Java 2 platform 1.4, this previously undocumented class is now obsolete.
    `class` | `BasicProgressBarUI.ChangeHandler` This class should be treated as a "protected" inner class.
    `protected class` | `BasicScrollBarUI.ModelListener` A listener to listen for model changes.
    `class` | `BasicScrollPaneUI.HSBChangeListener` Horizontal scrollbar listener.
    `class` | `BasicScrollPaneUI.ViewportChangeHandler` Listener for viewport events.
    `class` | `BasicScrollPaneUI.VSBChangeListener` Vertical scrollbar listener.
    `class` | `BasicSliderUI.ChangeHandler` Data model listener.
    `class` | `BasicTabbedPaneUI.TabSelectionHandler` This class should be treated as a "protected" inner class.

    Fields in javax.swing.plaf.basic declared as ChangeListener
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected ChangeListener` | BasicMenuUI.`changeListener`
    `protected ChangeListener` | BasicProgressBarUI.`changeListener`
    `protected ChangeListener` | BasicMenuBarUI.`changeListener`
    `protected ChangeListener` | BasicSliderUI.`changeListener`
    `protected ChangeListener` | BasicScrollPaneUI.`hsbChangeListener`
    `protected ChangeListener` | BasicColorChooserUI.`previewListener`
    `protected ChangeListener` | BasicTabbedPaneUI.`tabChangeListener`
    `protected ChangeListener` | BasicScrollPaneUI.`viewportChangeListener`
    `protected ChangeListener` | BasicScrollPaneUI.`vsbChangeListener`

    Methods in javax.swing.plaf.basic that return ChangeListener
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected ChangeListener` | BasicMenuBarUI.`createChangeListener()`
    `protected ChangeListener` | BasicTabbedPaneUI.`createChangeListener()`
    `protected ChangeListener` | BasicMenuUI.`createChangeListener(JComponent c)`
    `protected ChangeListener` | BasicSliderUI.`createChangeListener(JSlider slider)`
    `protected ChangeListener` | BasicScrollPaneUI.`createHSBChangeListener()`
    `protected ChangeListener` | BasicScrollPaneUI.`createViewportChangeListener()`
    `protected ChangeListener` | BasicScrollPaneUI.`createVSBChangeListener()`

  - ### Uses of ChangeListener in javax.swing.text

    Methods in javax.swing.text that return ChangeListener
    Modifier and Type | Method | Description
    --- | --- | ---
    `ChangeListener[]` | StyleContext.`getChangeListeners()` Returns an array of all the `ChangeListener`s added to this StyleContext with addChangeListener().
    `ChangeListener[]` | StyleContext.NamedStyle.`getChangeListeners()` Returns an array of all the `ChangeListener`s added to this NamedStyle with addChangeListener().
    `ChangeListener[]` | DefaultCaret.`getChangeListeners()` Returns an array of all the change listeners registered on this caret.

    Methods in javax.swing.text with parameters of type ChangeListener
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | Style.`addChangeListener(ChangeListener l)` Adds a listener to track whenever an attribute has been changed.
    `void` | StyleContext.`addChangeListener(ChangeListener l)` Adds a listener to track when styles are added or removed.
    `void` | StyleContext.NamedStyle.`addChangeListener(ChangeListener l)` Adds a change listener.
    `void` | DefaultCaret.`addChangeListener(ChangeListener l)` Adds a listener to track whenever the caret position has been changed.
    `void` | Caret.`addChangeListener(ChangeListener l)` Adds a listener to track whenever the caret position has been changed.
    `void` | Style.`removeChangeListener(ChangeListener l)` Removes a listener that was tracking attribute changes.
    `void` | StyleContext.`removeChangeListener(ChangeListener l)` Removes a listener that was tracking styles being added or removed.
    `void` | StyleContext.NamedStyle.`removeChangeListener(ChangeListener l)` Removes a change listener.
    `void` | DefaultCaret.`removeChangeListener(ChangeListener l)` Removes a listener that was tracking caret position changes.
    `void` | Caret.`removeChangeListener(ChangeListener l)` Removes a listener that was tracking caret position changes.

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.