Class WeakChangeListener<T>
- javafx.beans.value.WeakChangeListener<T>
Type Parameters:
T - The type of the observed value
All Implemented Interfaces:
public final class WeakChangeListener<T> extends Object implements ChangeListener<T>, WeakListener
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
Constructors Constructor and Description WeakChangeListener(ChangeListener<T> listener)The constructor ofWeakChangeListener.
-
Method Summary
All MethodsInstance MethodsConcrete Methods Modifier and Type Method and 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 interfaceWeakListenerReturns:
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 is is considered bad practice to modify the observed value in this method.
Specified by:
changedin interfaceChangeListener<T>Parameters:
observable- TheObservableValuewhich value changed
-
© 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.