Интерфейс Observable
- Все известные подинтерфейсы:
-
Binding<T>,JavaBeanProperty<T>,NumberBinding,NumberExpression,ObservableArray<T>,ObservableBooleanValue,ObservableDoubleValue,ObservableFaceArray,ObservableFloatArray,ObservableFloatValue,ObservableIntegerArray,ObservableIntegerValue,ObservableList<E>,ObservableListValue<E>,ObservableLongValue,ObservableMap<K,,V> ObservableMapValue<K,,V> ObservableNumberValue,ObservableObjectValue<T>,ObservableSet<E>,ObservableSetValue<E>,ObservableStringValue,ObservableValue<T>,Property<T>,ReadOnlyJavaBeanProperty<T>,ReadOnlyProperty<T>,TextInputControl.Content,WritableListValue<E>,WritableMapValue<K,,V> WritableSetValue<E>
- Все известные реализующие классы:
-
BooleanBinding,BooleanExpression,BooleanProperty,BooleanPropertyBase,DoubleBinding,DoubleExpression,DoubleProperty,DoublePropertyBase,FilteredList,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,ModifiableObservableListBase,NumberExpressionBase,ObjectBinding,ObjectExpression,ObjectProperty,ObjectPropertyBase,ObservableArrayBase,ObservableListBase,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,SortedList,StringBinding,StringExpression,StringProperty,StringPropertyBase,StyleableBooleanProperty,StyleableDoubleProperty,StyleableFloatProperty,StyleableIntegerProperty,StyleableLongProperty,StyleableObjectProperty,StyleableStringProperty,TransformationList
public interface Observable
Реализация интерфейса Observable может поддерживать ленивые вычисления, что означает, что содержимое пересчитывается не сразу после изменений, а лениво в следующий раз, когда оно запрашивается. Все привязки и свойства в этой библиотеке поддерживают ленивые вычисления.
Реализации этого класса должны стремиться генерировать как можно меньше событий, чтобы избежать траты слишком много времени в обработчиках событий. Реализации в этой библиотеке отмечают себя как недействительные, когда возникает первое событие недействительности. Они не генерируют больше событий недействительности, пока их значение не пересчитано и не станет действительным снова.
- С момента:
- JavaFX 2.0
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addListener |
Добавляет слушатель InvalidationListener, который будет уведомляться всякий раз, когда Observable становится недействительным. |
void |
removeListener |
Удаляет заданного слушателя из списка слушателей, которые уведомляются всякий раз, когда значение Observable становится недействительным. |
default Subscription |
subscribe |
Создает Subscription для этого Observable, который вызывает invalidationSubscriber всякий раз, когда он становится недействительным. |
Подробное описание методов
addListener
void addListener(InvalidationListener listener)
InvalidationListener, который будет уведомляться всякий раз, когда Observable становится недействительным. Если один и тот же слушатель добавляется более одного раза, он будет уведомляться более одного раза. То есть проверка на уникальность не выполняется. Обратите внимание, что один и тот же экземпляр InvalidationListener может быть безопасно зарегистрирован для различных Observables.
Observable хранит сильную ссылку на слушателя, что предотвратит сборку мусора слушателя и может привести к утечке памяти. Рекомендуется либо отменить регистрацию слушателя, вызвав removeListener после использования, либо использовать экземпляр WeakInvalidationListener, чтобы избежать этой ситуации.
- Параметры:
-
listener— слушатель для регистрации - Исключения:
-
NullPointerException— если слушатель равен null - См. также:
removeListener
void removeListener(InvalidationListener listener)
Observable становится недействительным. Если заданный слушатель не был ранее зарегистрирован (то есть он никогда не добавлялся), то вызов этого метода не приведет ни к каким действиям. Если он был ранее добавлен, то он будет удален. Если он был добавлен более одного раза, то будет удален только первый случай.
- Параметры:
-
listener— слушатель для удаления - Исключения:
-
NullPointerException— если слушатель равен null - См. также:
subscribe
default Subscription subscribe(Runnable invalidationSubscriber)
Subscription для этого Observable, который вызывает invalidationSubscriber всякий раз, когда он становится недействительным. Предоставленный подписчик аналогичен InvalidationListener без параметра Observable. Если один и тот же подписчик подписывается более одного раза, он будет уведомляться более одного раза. То есть проверка на уникальность не выполняется. Обратите внимание, что один и тот же экземпляр подписчика может быть безопасно подписан для различных Observables.
Также обратите внимание, что при подписке на Observable с более длительным жизненным циклом, чем у подписчика, подписчик должен быть отписан, когда он больше не нужен, иначе подписка не позволит подписчику быть собранным мусором.
- Параметры:
-
invalidationSubscriber—Runnable, который нужно вызвать всякий раз, когда это значение становится недействительным, не может бытьnull - Возвращает:
Subscription, который можно использовать для отмены этой подписки, никогда неnull- Исключения:
-
NullPointerException— если подписчикnull - С момента:
- 21
- См. также:
© 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.