Module javafx.base
Package javafx.event

Class WeakEventHandler<T extends Event>

  • 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 Detail

      • WeakEventHandler

        public WeakEventHandler​(EventHandler<T> eventHandler)
        Creates a new instance of WeakEventHandler.
        Parameters:
        eventHandler - the original event handler to which to forward event notifications
    • Method Detail

      • 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 this WeakEventHandler is no longer necessary.
        Returns:
        true if the associated handler has been garbage collected, false otherwise
      • handle

        public void handle​(T event)
        Forwards event notification to the associated event handler.
        Specified by:
        handle in interface EventHandler<T extends Event>
        Parameters:
        event - the event which occurred