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
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:
Constructor Summary
| Constructor | Description |
|---|---|
WeakChangeListener |
The constructor of WeakChangeListener. |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
void |
changed |
Called when the value of an ObservableValue changes. |
boolean |
wasGarbageCollected() |
Returns true if the linked listener was garbage-collected. |
Constructor Details
WeakChangeListener
public WeakChangeListener(ChangeListener<T> listener)
The constructor of
WeakChangeListener.- Parameters:
-
listener- The original listener that should be notified
Method Details
wasGarbageCollected
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:
-
wasGarbageCollectedin interfaceWeakListener - Returns:
-
trueif the linked listener was garbage-collected.
changed
public void changed(ObservableValue<? extends T> observable, T oldValue, T newValue)
Called when the value of an
ObservableValue changes. In general, it is considered bad practice to modify the observed value in this method.
- Specified by:
-
changedin interfaceChangeListener<T> - Parameters:
-
observable- TheObservableValuewhich value changed -
oldValue- The old value -
newValue- The new value
© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.