- java.lang.Object
-
- javafx.collections.WeakMapChangeListener<K,V>
-
- 参数类型
-
K
- 关键元素类型 -
V
- 值元素类型
- All Implemented Interfaces:
-
WeakListener
,MapChangeListener<K,V>
public final class WeakMapChangeListener<K,V> extends Object implements MapChangeListener<K,V>, WeakListener
AWeakMapChangeListener
可以使用,如果一个ObservableMap
应该只保留一个弱的参考侦听器。 这有助于避免内存泄漏,如果观察者在使用后未注册观察对象,则可能会发生这种情况。WeakMapChangeListener
是通过传入原来的MapChangeListener
创建的。 然后应该注册WeakMapChangeListener
来监听被观察对象的变化。注意:你必须保留对
MapChangeListener
的引用,只要它在使用中被传递,否则将很快被垃圾收集。- 从以下版本开始:
- JavaFX 2.1
- 另请参见:
-
MapChangeListener
,ObservableMap
,WeakListener
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface javafx.collections.MapChangeListener
MapChangeListener.Change<K,V>
-
-
构造方法摘要
构造方法 Constructor 描述 WeakMapChangeListener(MapChangeListener<K,V> listener)
构造函数为WeakMapChangeListener
。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 void
onChanged(MapChangeListener.Change<? extends K,? extends V> change)
在对ObservableMap进行了更改后调用。boolean
wasGarbageCollected()
如果链接的侦听器被垃圾回收,则返回true
。
-
-
-
构造方法详细信息
-
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
- 所做的更改
-
-