Module javafx.base
Package javafx.event

Class WeakEventHandler<T extends Event>

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 Details

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