Module javafx.base
Package javafx.beans.value

## Interface ChangeListener<T>

- All Known Implementing Classes:
    `WeakChangeListener`
  Functional Interface:
    This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

      @FunctionalInterface
      public interface ChangeListener<T>

  A `ChangeListener` is notified whenever the value of an `ObservableValue` changes. It can be registered and unregistered with `ObservableValue.addListener(ChangeListener)` respectively `ObservableValue.removeListener(ChangeListener)`

  For an in-depth explanation of change events and how they differ from invalidation events, see the documentation of `ObservableValue`.

  The same instance of `ChangeListener` can be registered to listen to multiple `ObservableValues`.

  Since:
    JavaFX 2.0
  See Also:
    `ObservableValue`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `changed​(ObservableValue<? extends T> observable, T oldValue, T newValue)` | This method needs to be provided by an implementation of `ChangeListener`.

- - ### Method Detail

    - #### changed

          void changed​(ObservableValue<? extends T> observable,
                       T oldValue,
                       T newValue)

      This method needs to be provided by an implementation of `ChangeListener`. It is called if the value of an `ObservableValue` changes.

      In general, it is considered bad practice to modify the observed value in this method.

      Parameters:
        `observable` - The `ObservableValue` which value changed
        `oldValue` - The old value
        `newValue` - The new value