- 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
AWeakChangeListener
can be used, if anObservableValue
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.WeakChangeListener
are created by passing in the originalChangeListener
. TheWeakChangeListener
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 as long as it is in use, otherwise it will be garbage collected to 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 void
changed(ObservableValue<? extends T> observable, T oldValue, T newValue)
This method needs to be provided by an implementation ofChangeListener
.boolean
wasGarbageCollected()
Returnstrue
if 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()
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
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 anObservableValue
changes.In general is 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
-
-