- 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
AWeakChangeListenercan be used if anObservableValueshould 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.WeakChangeListenerinstances are created by passing in the originalChangeListener. TheWeakChangeListenershould then be registered to listen for changes of the observed object.Note: You have to keep a reference to the
ChangeListenerthat 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 ofWeakChangeListener.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidchanged(ObservableValue<? extends T> observable, T oldValue, T newValue)This method needs to be provided by an implementation ofChangeListener.booleanwasGarbageCollected()Returnstrueif the linked listener was garbage-collected.
-
-
-
Constructor Detail
-
WeakChangeListener
public WeakChangeListener(ChangeListener<T> listener)
The constructor ofWeakChangeListener.- Parameters:
listener- The original listener that should be notified
-
-
Method Detail
-
wasGarbageCollected
public boolean wasGarbageCollected()
Returnstrueif the linked listener was garbage-collected. In this case, the listener can be removed from the observable.- Specified by:
wasGarbageCollectedin interfaceWeakListener- Returns:
trueif the linked listener was garbage-collected.
-
changed
public void changed(ObservableValue<? extends T> observable, T oldValue, T newValue)
This method needs to be provided by an implementation ofChangeListener. It is called if the value of anObservableValuechanges.In general, it is considered bad practice to modify the observed value in this method.
- Specified by:
changedin interfaceChangeListener<T>- Parameters:
observable- TheObservableValuewhich value changedoldValue- The old valuenewValue- The new value
-
-