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 ofWeakChangeListener
. -
Method Summary
Modifier and Type Method Description void
changed(ObservableValue<? extends T> observable, T oldValue, T newValue)
Called when the value of anObservableValue
changes.boolean
wasGarbageCollected()
Returnstrue
if the linked listener was garbage-collected.
-
Constructor Details
-
WeakChangeListener
The constructor ofWeakChangeListener
.- Parameters:
listener
- The original listener that should be notified
-
-
Method Details
-
wasGarbageCollected
public boolean wasGarbageCollected()Returnstrue
if the linked listener was garbage-collected. In this case, the listener can be removed from the observable.- Specified by:
wasGarbageCollected
in interfaceWeakListener
- Returns:
true
if the linked listener was garbage-collected.
-
changed
Called when the value of anObservableValue
changes.In general, it is considered bad practice to modify the observed value in this method.
- Specified by:
changed
in interfaceChangeListener<T>
- Parameters:
observable
- TheObservableValue
which value changedoldValue
- The old valuenewValue
- The new value
-