Top Description Fields Constructors Methods
javafx.beans.value

public final Class WeakChangeListener<T>

extends Object
implements ChangeListener<T>, WeakListener
Class Inheritance
All Implemented Interfaces
javafx.beans.WeakListener, javafx.beans.value.ChangeListener
Type Parameters
<T>
The type of the observed value
Imports
javafx.beans.NamedArg, .WeakListener, java.lang.ref.WeakReference

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

Field Summary

Modifier and TypeField and Description
private final WeakReference<ChangeListener<T>>

Constructor Summary

AccessConstructor and Description
public
WeakChangeListener(ChangeListener<T>
The original listener that should be notified
listener
)

The constructor of WeakChangeListener.

Method Summary

Modifier and TypeMethod and Description
public void
changed(ObservableValue<? extends T>
The ObservableValue which value changed
observable
,
T
The old value
oldValue
,
T
The new value
newValue
)

Implements javafx.beans.value.ChangeListener.changed.

Called when the value of an ObservableValue changes.

public boolean
wasGarbageCollected()

Implements javafx.beans.WeakListener.wasGarbageCollected.

Returns true if the linked listener was garbage-collected.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

refback to summary
private final WeakReference<ChangeListener<T>> ref

Constructor Detail

WeakChangeListenerback to summary
public WeakChangeListener(ChangeListener<T> listener)

The constructor of WeakChangeListener.

Parameters
listener:ChangeListener<T>

The original listener that should be notified

Method Detail

changedback to summary
public void changed(ObservableValue<? extends T> observable, T oldValue, T newValue)

Implements javafx.beans.value.ChangeListener.changed.

Doc from javafx.beans.value.ChangeListener.changed.

Called when the value of an ObservableValue changes.

In general, it is considered bad practice to modify the observed value in this method.

Parameters
observable:ObservableValue<? extends T>

The ObservableValue which value changed

oldValue:T

The old value

newValue:T

The new value

Annotations
@Override
wasGarbageCollectedback to summary
public boolean wasGarbageCollected()

Implements javafx.beans.WeakListener.wasGarbageCollected.

Doc from javafx.beans.WeakListener.wasGarbageCollected.

Returns true if the linked listener was garbage-collected. In this case, the listener can be removed from the observable.

Returns:boolean

true if the linked listener was garbage-collected.

Annotations
@Override