Spec-Zone.ru › OpenJavaFX 8
javafx.beans.value

Интерфейс ObservableValue<T>

Параметры типа:

T — тип обернутого значения.

Все суперинтерфейсы:

Observable

Все известные подинтерфейсы:

Binding<T>, JavaBeanProperty<T>, NumberBinding, NumberExpression, ObservableBooleanValue, ObservableDoubleValue, ObservableFloatValue, ObservableIntegerValue, ObservableListValue<E>, ObservableLongValue, ObservableMapValue<K,V>, ObservableNumberValue, ObservableObjectValue<T>, ObservableSetValue<E>, ObservableStringValue, Property<T>, ReadOnlyJavaBeanProperty<T>, ReadOnlyProperty<T>, TextInputControl.Content

Все известные реализующие классы:

BooleanBinding, BooleanExpression, BooleanProperty, BooleanPropertyBase, DoubleBinding, DoubleExpression, DoubleProperty, DoublePropertyBase, FloatBinding, FloatExpression, FloatProperty, FloatPropertyBase, IntegerBinding, IntegerExpression, IntegerProperty, IntegerPropertyBase, JavaBeanBooleanProperty, JavaBeanDoubleProperty, JavaBeanFloatProperty, JavaBeanIntegerProperty, JavaBeanLongProperty, JavaBeanObjectProperty, JavaBeanStringProperty, ListBinding, ListExpression, ListProperty, ListPropertyBase, LongBinding, LongExpression, LongProperty, LongPropertyBase, MapBinding, MapExpression, MapProperty, MapPropertyBase, NumberExpressionBase, ObjectBinding, ObjectExpression, ObjectProperty, ObjectPropertyBase, ObservableValueBase, ReadOnlyBooleanProperty, ReadOnlyBooleanPropertyBase, ReadOnlyBooleanWrapper, ReadOnlyDoubleProperty, ReadOnlyDoublePropertyBase, ReadOnlyDoubleWrapper, ReadOnlyFloatProperty, ReadOnlyFloatPropertyBase, ReadOnlyFloatWrapper, ReadOnlyIntegerProperty, ReadOnlyIntegerPropertyBase, ReadOnlyIntegerWrapper, ReadOnlyJavaBeanBooleanProperty, ReadOnlyJavaBeanDoubleProperty, ReadOnlyJavaBeanFloatProperty, ReadOnlyJavaBeanIntegerProperty, ReadOnlyJavaBeanLongProperty, ReadOnlyJavaBeanObjectProperty, ReadOnlyJavaBeanStringProperty, ReadOnlyListProperty, ReadOnlyListPropertyBase, ReadOnlyListWrapper, ReadOnlyLongProperty, ReadOnlyLongPropertyBase, ReadOnlyLongWrapper, ReadOnlyMapProperty, ReadOnlyMapPropertyBase, ReadOnlyMapWrapper, ReadOnlyObjectProperty, ReadOnlyObjectPropertyBase, ReadOnlyObjectWrapper, ReadOnlySetProperty, ReadOnlySetPropertyBase, ReadOnlySetWrapper, ReadOnlyStringProperty, ReadOnlyStringPropertyBase, ReadOnlyStringWrapper, SetBinding, SetExpression, SetProperty, SetPropertyBase, SimpleBooleanProperty, SimpleDoubleProperty, SimpleFloatProperty, SimpleIntegerProperty, SimpleListProperty, SimpleLongProperty, SimpleMapProperty, SimpleObjectProperty, SimpleSetProperty, SimpleStringProperty, SimpleStyleableBooleanProperty, SimpleStyleableDoubleProperty, SimpleStyleableFloatProperty, SimpleStyleableIntegerProperty, SimpleStyleableLongProperty, SimpleStyleableObjectProperty, SimpleStyleableStringProperty, StringBinding, StringExpression, StringProperty, StringPropertyBase, StyleableBooleanProperty, StyleableDoubleProperty, StyleableFloatProperty, StyleableIntegerProperty, StyleableLongProperty, StyleableObjectProperty, StyleableStringProperty



public interface ObservableValue<T>
extends Observable
Объект ObservableValue — это сущность, которая оборачивает значение и позволяет наблюдать за изменениями этого значения. В общем случае этот интерфейс не следует реализовывать напрямую, а использовать один из его подинтерфейсов (например, ObservableBooleanValue и т. д.).

Значение ObservableValue можно получить с помощью getValue().

Реализация ObservableValue может поддерживать ленивую вычисление, что означает, что значение не пересчитывается сразу после изменения, а лениво — в следующий раз при запросе значения. Все привязки и свойства в этой библиотеке поддерживают ленивое вычисление.

Объект ObservableValue генерирует два типа событий: события изменения и события инвалидации. Событие изменения указывает на то, что значение изменилось. Событие инвалидации генерируется, если текущее значение больше не является действительным. Это различие становится важным, если ObservableValue поддерживает ленивую вычисление, потому что для лениво вычисляемого значения неизвестно, действительно ли неверное значение изменилось, пока оно не будет пересчитано. По этой причине для генерации событий изменения требуется жадное вычисление, а события инвалидации могут генерироваться для жадных и ленивых реализаций.

Реализации данного класса должны стремиться генерировать как можно меньше событий, чтобы избежать излишней траты времени в обработчиках событий. Реализации в этой библиотеке отмечают себя как недействительные при возникновении первого события инвалидации. Они больше не генерируют событий инвалидации до тех пор, пока их значение не будет пересчитано и станет действительным снова.

К объекту ObservableValue можно прикрепить два типа слушателей: InvalidationListener для прослушивания событий инвалидации и ChangeListener для прослушивания событий изменения.

Важное примечание: прикрепление ChangeListener принудительно выполняет жадное вычисление даже в том случае, если реализация ObservableValue поддерживает ленивое вычисление.

С момента:

JavaFX 2.0

См. также:

ObservableBooleanValue, ObservableDoubleValue, ObservableFloatValue, ObservableIntegerValue, ObservableLongValue, ObservableNumberValue, ObservableObjectValue, ObservableStringValue

  • Краткое описание методов

    Все методыМетоды экземпляраАбстрактные методы
    Модификатор и тип Метод и описание
    void addListener(ChangeListener<? super T> listener)
    Добавляет слушателя ChangeListener, который будет уведомляться всякий раз, когда изменяется значение ObservableValue.
    T getValue()
    Возвращает текущее значение этого ObservableValue
    void removeListener(ChangeListener<? super T> listener)
    Удаляет указанного слушателя из списка слушателей, которые уведомляются всякий раз, когда изменяется значение ObservableValue.
    • Методы, унаследованные от интерфейса javafx.beans.Observable

      addListener, removeListener
  • Подробное описание методов

    • addListener

      void addListener(ChangeListener<? super T> listener)
      Добавляет слушателя ChangeListener, который будет уведомляться всякий раз, когда изменяется значение ObservableValue. Если один и тот же слушатель добавляется более одного раза, он будет уведомляться более одного раза. Проверка на уникальность не выполняется.

      Обратите внимание, что один и тот же экземпляр ChangeListener может быть безопасно зарегистрирован для разных ObservableValues.

      ObservableValue хранит сильную ссылку на слушателя, что предотвращает сборку мусора слушателя и может привести к утечке памяти. Рекомендуется либо отменить регистрацию слушателя, вызвав removeListener после использования, либо использовать экземпляр WeakChangeListener, чтобы избежать этой ситуации.

      Параметры:

      listener - Слушатель для регистрации

      Исключения:

      NullPointerException - если слушатель равен null

      См. также:

      removeListener(ChangeListener)

    • removeListener

      void removeListener(ChangeListener<? super T> listener)
      Удаляет указанного слушателя из списка слушателей, которые уведомляются всякий раз, когда изменяется значение ObservableValue.

      Если данный слушатель ранее не был зарегистрирован (т.е. никогда не добавлялся), то вызов этого метода не производит никаких действий. Если он был добавлен ранее, он будет удален. Если он был добавлен более одного раза, то будет удалено только первое его появление.

      Параметры:

      listener - Слушатель для удаления

      Исключения:

      NullPointerException - если слушатель равен null

      См. также:

      addListener(ChangeListener)

    • getValue

      T getValue()
      Возвращает текущее значение этого ObservableValue

      Возвращает:

      Текущее значение

© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API