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 Summary

    Constructors
    Constructor | Description
    --- | ---
    `WeakEventHandler​(EventHandler<T> eventHandler)` | Creates a new instance of `WeakEventHandler`.

  - ### 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.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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