Module  javafx.base
软件包  javafx.collections

Class WeakMapChangeListener<K,V>

  • 参数类型
    K - 关键元素类型
    V - 值元素类型
    All Implemented Interfaces:
    WeakListenerMapChangeListener<K,V>


    public final class WeakMapChangeListener<K,V>
    extends Object
    implements MapChangeListener<K,V>, WeakListener
    A WeakMapChangeListener可以使用,如果一个ObservableMap应该只保留一个弱的参考侦听器。 这有助于避免内存泄漏,如果观察者在使用后未注册观察对象,则可能会发生这种情况。

    WeakMapChangeListener是通过传入原来的MapChangeListener创建的。 然后应该注册WeakMapChangeListener来监听被观察对象的变化。

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

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

      • WeakMapChangeListener

        public WeakMapChangeListener​(MapChangeListener<K,V> listener)
        构造函数为 WeakMapChangeListener
        参数
        listener - 应该通知的原始听众
    • 方法详细信息

      • wasGarbageCollected

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

        public void onChanged​(MapChangeListener.Change<? extends K,? extends V> change)
        在对ObservableMap进行了更改后调用。 每个基本变化(put / remove)一次调用此方法。 这意味着,像keySet()。removeAll(Collection)或clear()这样的复杂变化可能导致多次调用onChanged方法。
        Specified by:
        onChanged在接口 MapChangeListener<K,V>
        参数
        change - 所做的更改