-
- Параметры типа:
-
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
Объект, который оборачивает значение и позволяет наблюдать за ним на предмет изменений. В общем случае этот интерфейс не следует реализовывать напрямую, а следует использовать один из его подинтерфейсов (ObservableBooleanValueи т.д.).Значение
ObservableValueможно запросить с помощьюgetValue().Реализация интерфейса
ObservableValueможет поддерживать ленивые вычисления, что означает, что значение не пересчитывается немедленно после изменений, а лениво в следующий раз, когда запрашивается значение. Все привязки и свойства в этой библиотеке поддерживают ленивые вычисления.Объект
ObservableValueгенерирует два типа событий: события изменения и события инвалидации. Событие изменения указывает на то, что значение изменилось. Событие инвалидации генерируется, если текущее значение больше не является действительным. Это различие становится важным, еслиObservableValueподдерживает ленивые вычисления, потому что для лениво вычисляемого значения неизвестно, действительно ли недействительное значение изменилось, пока оно не будет пересчитано. По этой причине генерация событий изменения требует жадных вычислений, в то время как события инвалидации могут генерироваться для жадных и ленивых реализаций.Реализации этого класса должны стремиться генерировать как можно меньше событий, чтобы избежать траты слишком много времени на обработчики событий. Реализации в этой библиотеке отмечают себя как недействительные, когда происходит первое событие инвалидации. Они больше не генерируют событий инвалидации, пока их значение не будет пересчитано и не станет действительным снова.
К объекту
ObservableValueможно прикрепить два типа слушателей:InvalidationListenerдля прослушивания событий инвалидации иChangeListenerдля прослушивания событий изменения.Важное примечание: прикрепление
ChangeListenerпринудительно выполняет жадные вычисления, даже если реализацияObservableValueподдерживает ленивые вычисления.
-
Краткое описание методов
Все методыМетоды экземпляраАбстрактные методы Модификатор и тип Метод Описание voidaddListener(ChangeListener<? super T> listener)ДобавляетChangeListener, который будет уведомляться всякий раз, когда значениеObservableValueизменяется.TgetValue()Возвращает текущее значение этогоObservableValuevoidremoveListener(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.