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
A
WeakChangeListener can be used, if an ObservableValue
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 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 as long as it is in use, otherwise it will be garbage collected
to soon.
- Since:
- JavaFX 2.0
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionWeakChangeListener(ChangeListener<T> listener) The constructor ofWeakChangeListener. -
Method Summary
Modifier and TypeMethodDescriptionvoidchanged(ObservableValue<? extends T> observable, T oldValue, T newValue) This method needs to be provided by an implementation ofChangeListener.booleanReturnstrueif 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()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
This method needs to be provided by an implementation ofChangeListener. It is called if the value of anObservableValuechanges.In general is 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
-