java.lang.Object
javafx.event.WeakEventHandler<T>
- Type Parameters:
T
- the event class this handler can handle
- All Implemented Interfaces:
EventListener
,EventHandler<T>
public final class WeakEventHandler<T extends Event> extends Object implements EventHandler<T>
Used in event handler registration in place of its associated event handler.
Its sole purpose is to break the otherwise strong reference between an event
handler container and its associated event handler. While the container still
holds strong reference to the registered
WeakEventHandler
proxy, the
proxy itself references the original handler only weakly and so doesn't
prevent it from being garbage collected. Until this weak reference is broken,
any event notification received by the proxy is forwarded to the original
handler.- Since:
- JavaFX 8.0
-
Constructor Summary
Constructors Constructor Description WeakEventHandler(EventHandler<T> eventHandler)
Creates a new instance ofWeakEventHandler
. -
Method Summary
Modifier and Type Method Description void
handle(T event)
Forwards event notification to the associated event handler.boolean
wasGarbageCollected()
Indicates whether the associated event handler has been garbage collected.
-
Constructor Details
-
WeakEventHandler
Creates a new instance ofWeakEventHandler
.- Parameters:
eventHandler
- the original event handler to which to forward event notifications
-
-
Method Details
-
wasGarbageCollected
public boolean wasGarbageCollected()Indicates whether the associated event handler has been garbage collected. Used by containers to detect when the storage of corresponding references to thisWeakEventHandler
is no longer necessary.- Returns:
true
if the associated handler has been garbage collected,false
otherwise
-
handle
Forwards event notification to the associated event handler.- Specified by:
handle
in interfaceEventHandler<T extends Event>
- Parameters:
event
- the event which occurred
-