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

Class ObservableValueBase<T>

  • All Implemented Interfaces:
    ObservableObservableValue<T>


    public abstract class ObservableValueBase<T>
    extends Object
    implements ObservableValue<T>
    创建ObservableValue实现方便类。 它包含对价值无效和更改事件通知的所有基础架构支持。 该实现可以在观察者被通知时处理添加和删除侦听器,但不是线程安全的。
    从以下版本开始:
    JavaFX 2.0
    • 构造方法详细信息

      • ObservableValueBase

        public ObservableValueBase​()
    • 方法详细信息

      • addListener

        public void addListener​(InvalidationListener listener)
        添加一个InvalidationListener ,当Observable变得无效时,它将被通知。 如果同一个监听器被多次添加,那么它将被多次通知。 也就是说,没有检查确保唯一性。

        请注意,相同的实际InvalidationListener实例可能会安全注册到不同的Observables

        Observable存储对侦听器的强烈引用,这将阻止侦听器被垃圾回收,并可能导致内存泄漏。 建议在使用后通过调用removeListener取消注册监听器,或者使用WeakInvalidationListener的实例避免此情况。

        Specified by:
        addListener在接口 Observable
        参数
        listener - listener注册
        另请参见:
        Observable.removeListener(InvalidationListener)
      • addListener

        public void addListener​(ChangeListener<? super T> listener)
        添加一个ChangeListener ,当ObservableValue的值发生变化时,将通知它。 如果同一个监听器被多次添加,那么它将被多次通知。 也就是说,没有检查确保唯一性。

        请注意,相同的实际ChangeListener实例可以安全地注册到不同的ObservableValues

        ObservableValue存储对侦听器的强烈引用,这将阻止侦听器被垃圾回收,并可能导致内存泄漏。 建议在使用后通过调用removeListener注销监听器,或使用WeakChangeListener的实例避免此情况。

        Specified by:
        addListener在接口 ObservableValue<T>
        参数
        listener - listener注册
        另请参见:
        ObservableValue.removeListener(ChangeListener)
      • removeListener

        public void removeListener​(InvalidationListener listener)
        从监听器列表中删除给定的监听器,当Observable的值变为无效时,它们将被通知。

        如果给定的侦听器以前没有被注册过(即它从未被添加过),那么这个方法调用是一个无操作的。 如果以前已经添加,那么它将被删除。 如果多次添加,那么只有第一次出现将被删除。

        Specified by:
        removeListener在接口 Observable
        参数
        listener - 要删除的侦听器
        另请参见:
        Observable.addListener(InvalidationListener)
      • removeListener

        public void removeListener​(ChangeListener<? super T> listener)
        从监听器列表中删除给定的监听器,每当ObservableValue的值发生变化时通知ObservableValue

        如果给定的侦听器以前没有被注册过(即它从未被添加过),那么这个方法调用是一个无操作的。 如果以前已经添加,那么它将被删除。 如果多次添加,那么只有第一次出现将被删除。

        Specified by:
        removeListener在接口 ObservableValue<T>
        参数
        listener - 要删除的侦听器
        另请参见:
        ObservableValue.addListener(ChangeListener)
      • fireValueChangedEvent

        protected void fireValueChangedEvent​()
        Notify the currently registered observers of a value change. This implementation will ignore all adds and removes of observers that are done while a notification is processed. The changes take effect in the following call to fireValueChangedEvent.