Module  javafx.base
软件包  javafx.collections

Class WeakSetChangeListener<E>

  • 参数类型
    E - 观察值的类型
    All Implemented Interfaces:
    WeakListenerSetChangeListener<E>


    public final class WeakSetChangeListener<E>
    extends Object
    implements SetChangeListener<E>, WeakListener
    A WeakSetChangeListener可以使用,如果一个ObservableSet应该只保留一个对监听者的弱引用。 这有助于避免内存泄漏,如果观察者在使用后未注册观察对象,则可能会发生这种情况。

    WeakSetChangeListener是通过传入原来的SetChangeListener创建的。 然后应该注册WeakSetChangeListener来监听观察对象的更改。

    注意:你必须保留对SetChangeListener的引用,只要它在使用中被传递,否则将很快被垃圾收集。

    从以下版本开始:
    JavaFX 2.1
    另请参见:
    SetChangeListenerObservableSetWeakListener
    • 构造方法详细信息

      • WeakSetChangeListener

        public WeakSetChangeListener​(SetChangeListener<E> listener)
        构造函数为 WeakSetChangeListener
        参数
        listener - 应该通知的原始听众
    • 方法详细信息

      • wasGarbageCollected

        public boolean wasGarbageCollected​()
        如果链接的侦听器被垃圾回收,则返回true 在这种情况下,可以从observable中移除侦听器。
        Specified by:
        wasGarbageCollected在接口 WeakListener
        结果
        true如果链接的侦听器是垃圾回收的。
      • onChanged

        public void onChanged​(SetChangeListener.Change<? extends E> change)
        在对ObservableSet进行了更改后调用。 每个基本变化(添加/删除)一次调用此方法。 这意味着,复杂的更改,如removeAll(Collection)或clear()可能会导致多次调用onChanged方法。
        Specified by:
        onChanged在接口 SetChangeListener<E>
        参数
        change - 所做的更改