Module  javafx.base
软件包  javafx.beans.value

Class WeakChangeListener<T>

  • 参数类型
    T - 观测值的类型
    All Implemented Interfaces:
    ChangeListener<T>WeakListener


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

    WeakChangeListener是通过传递原来的ChangeListener创建的。 然后应注册WeakChangeListener以监听观察对象的更改。

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

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

      • WeakChangeListener

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

      • wasGarbageCollected

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

        public void changed​(ObservableValue<? extends T> observable,
                            T oldValue,
                            T newValue)
        该方法需要通过ChangeListener的实现来提供。 如果一个ObservableValue的值发生变化,则调用它。

        一般认为在这种方法中修改观察值的不良做法。

        Specified by:
        changed在接口 ChangeListener<T>
        参数
        observable - 该值改变了 ObservableValue
        oldValue - 旧值
        newValue - 新的价值