Module javafx.base

Class WeakListChangeListener<E>

java.lang.Object
javafx.collections.WeakListChangeListener<E>
Type Parameters:
E - The type of the observed value
All Implemented Interfaces:
WeakListener, ListChangeListener<E>

public final class WeakListChangeListener<E> extends Object implements ListChangeListener<E>, WeakListener
A WeakListChangeListener can be used, if an ObservableList should only maintain a weak reference to the listener. This helps to avoid memory leaks, that can occur if observers are not unregistered from observed objects after use.

WeakListChangeListener are created by passing in the original ListChangeListener. The WeakListChangeListener should then be registered to listen for changes of the observed object.

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

Since:
JavaFX 2.1
See Also:
  • Constructor Details Link icon

    • WeakListChangeListener Link icon

      public WeakListChangeListener(ListChangeListener<E> listener)
      The constructor of WeakListChangeListener.
      Parameters:
      listener - The original listener that should be notified
  • Method Details Link icon

    • wasGarbageCollected Link icon

      public boolean wasGarbageCollected()
      Returns true if the linked listener was garbage-collected. In this case, the listener can be removed from the observable.
      Specified by:
      wasGarbageCollected in interface WeakListener
      Returns:
      true if the linked listener was garbage-collected.
    • onChanged Link icon

      public void onChanged(ListChangeListener.Change<? extends E> change)
      Called after a change has been made to an ObservableList.
      Specified by:
      onChanged in interface ListChangeListener<E>
      Parameters:
      change - an object representing the change that was done
      See Also: