Module javafx.base
Package javafx.beans.value

# Class WeakChangeListener<T>

java.lang.Object
javafx.beans.value.WeakChangeListener<T>

Type Parameters:
  `T` - The type of the observed value

All Implemented Interfaces:
  `ChangeListener<T>`, `WeakListener`

    public final class WeakChangeListener<T>
    extends Object
    implements ChangeListener<T>, WeakListener

A `WeakChangeListener` can be used if an `ObservableValue` should only maintain a weak reference to the listener. This helps to avoid memory leaks which can occur if observers are not unregistered from observed objects after use.

`WeakChangeListener` instances are created by passing in the original `ChangeListener`. The `WeakChangeListener` should then be registered to listen for changes of the observed object.

Note: You have to keep a reference to the `ChangeListener` that was passed in for as long as it is in use, otherwise it will be garbage collected too soon.

Since:
  JavaFX 2.0
See Also:
  `ChangeListener`, `ObservableValue`

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `WeakChangeListener​(ChangeListener<T> listener)` | The constructor of `WeakChangeListener`.

- ## Method Summary

  ### Methods declared in class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods declared in interface javafx.beans.value.ChangeListener

  `changed`

  ### Methods declared in interface javafx.beans.WeakListener

  `wasGarbageCollected`

- ## Constructor Details

  - ### WeakChangeListener

    public WeakChangeListener​(ChangeListener<T> listener)
    The constructor of `WeakChangeListener`.
    Parameters:
      `listener` - The original listener that should be notified