Класс ObjectBinding<T>
- Параметры типа:
-
T- тип оборачиваемогоObject
- Все реализованные интерфейсы:
-
Binding<T>,Observable,ObservableObjectValue<T>,ObservableValue<T>
public abstract class ObjectBinding<T> extends ObjectExpression<T> implements Binding<T>
Binding для Object. ObjectBinding предоставляет простую схему обновления. Расширяющий класс может регистрировать зависимости, вызывая bind(Observable...). Если одна из зарегистрированных зависимостей становится недействительной, этот ObjectBinding помечается как недействительный. С помощью unbind(Observable...) прослушивание зависимостей можно остановить.
Для предоставления конкретной реализации этого класса необходимо реализовать метод computeValue() для вычисления значения этого привязывания на основе текущего состояния зависимостей. Он вызывается при вызове get() для недействительного привязывания.
См. DoubleBinding для примера расширения этого базового класса.
- С тех пор:
- JavaFX 2.0
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
ObjectBinding() |
Создаёт стандартный ObjectBinding. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addListener |
Добавляет InvalidationListener, который будет уведомляться всякий раз, когда Observable становится недействительным. |
void |
addListener |
Добавляет ChangeListener, который будет уведомляться всякий раз, когда значение ObservableValue изменяется. |
protected boolean |
allowValidation() |
Проверяет, разрешено ли привязыванию стать действительным. |
protected final void |
bind |
Начать наблюдение за зависимостями на предмет изменений. |
protected abstract T |
computeValue() |
Вычисляет текущее значение этого привязывания. |
void |
dispose() |
Стандартная пустая реализация dispose(). |
final T |
get() |
Возвращает результат computeValue(). |
ObservableList<?> |
getDependencies() |
Стандартная реализация getDependencies(), возвращающая пустой ObservableList. |
final void |
invalidate() |
Помечает привязывание как недействительное. |
protected final boolean |
isObserved() |
Проверяет, зарегистрирован ли по крайней мере один слушатель на привязывании. |
final boolean |
isValid() |
Проверяет, является ли привязывание действительным. |
protected void |
onInvalidating() |
Вызывается, когда это привязывание становится недействительным. |
void |
removeListener |
Удаляет заданного слушателя из списка слушателей, которые уведомляются всякий раз, когда значение Observable становится недействительным. |
void |
removeListener |
Удаляет заданного слушателя из списка слушателей, которые уведомляются всякий раз, когда значение ObservableValue изменяется. |
String |
toString() |
Возвращает строковое представление этого объекта ObjectBinding. |
protected final void |
unbind |
Остановить наблюдение за зависимостями на предмет изменений. |
Методы, объявленные в классе javafx.beans.binding.ObjectExpression
asString, asString, asString, getValue, isEqualTo, isEqualTo, isNotEqualTo, isNotEqualTo, isNotNull, isNull, objectExpression
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Методы, объявленные в интерфейсе javafx.beans.Observable
subscribe
Подробное описание конструкторов
ObjectBinding
public ObjectBinding()
ObjectBinding.Подробное описание методов
addListener
public void addListener(InvalidationListener listener)
ObservableInvalidationListener, который будет уведомляться всякий раз, когда Observable становится недействительным. Если один и тот же слушатель добавляется более одного раза, он будет уведомляться более одного раза. То есть проверка уникальности не выполняется. Обратите внимание, что один и тот же фактический InvalidationListener экземпляр может быть безопасно зарегистрирован для разных Observables.
Observable хранит сильную ссылку на слушателя, что предотвращает сборку мусора слушателя и может привести к утечке памяти. Рекомендуется либо отменить регистрацию слушателя, вызвав removeListener после использования, либо использовать экземпляр WeakInvalidationListener, чтобы избежать этой ситуации.
- Определено:
-
addListenerв интерфейсеObservable - Параметры:
-
listener- Слушатель для регистрации - См. также:
removeListener
public void removeListener(InvalidationListener listener)
ObservableObservable становится недействительным. Если указанный слушатель не был зарегистрирован ранее (т.е. его никогда не добавляли), то это вызов метода является бесполезным. Если он был добавлен ранее, то он будет удален. Если он был добавлен более одного раза, то будет удалён только первый случай.
- Определено:
-
removeListenerв интерфейсеObservable - Параметры:
-
listener- Слушатель для удаления - См. также:
addListener
public void addListener(ChangeListener<? super T> listener)
ObservableValueChangeListener, который будет уведомляться всякий раз, когда значение ObservableValue изменяется. Если один и тот же слушатель добавляется более одного раза, он будет уведомляться более одного раза. То есть проверка уникальности не выполняется. Обратите внимание, что один и тот же фактический ChangeListener экземпляр может быть безопасно зарегистрирован для разных ObservableValues.
ObservableValue хранит сильную ссылку на слушателя, что предотвращает сборку мусора слушателя и может привести к утечке памяти. Рекомендуется либо отменить регистрацию слушателя, вызвав removeListener после использования, либо использовать экземпляр WeakChangeListener, чтобы избежать этой ситуации.
- Определено:
-
addListenerв интерфейсеObservableValue<T> - Параметры:
-
listener- Слушатель для регистрации - См. также:
removeListener
public void removeListener(ChangeListener<? super T> listener)
ObservableValueObservableValue изменяется. Если указанный слушатель не был зарегистрирован ранее (т.е. его никогда не добавляли), то это вызов метода является бесполезным. Если он был добавлен ранее, то он будет удален. Если он был добавлен более одного раза, то будет удалён только первый случай.
- Определено:
-
removeListenerв интерфейсеObservableValue<T> - Параметры:
-
listener- Слушатель для удаления - См. также:
bind
protected final void bind(Observable... dependencies)
- Параметры:
-
dependencies- зависимость для наблюдения
unbind
protected final void unbind(Observable... dependencies)
- Параметры:
-
dependencies- зависимость для прекращения наблюдения
dispose
public void dispose()
dispose(), которая пуста.- Определено:
-
disposeв интерфейсеBinding<T>
getDependencies
public ObservableList<?> getDependencies()
getDependencies(), которая возвращает пустой ObservableList.- Определено:
-
getDependenciesв интерфейсеBinding<T> - Возвращает:
- пустой
ObservableList
get
public final T get()
computeValue(). Метод computeValue() вызывается только в том случае, если привязка недействительна. Результат кэшируется и возвращается, если привязка не стала недействительной с момента последнего вызова get().- Определено:
-
getв интерфейсеObservableObjectValue<T> - Возвращает:
- текущее значение
onInvalidating
protected void onInvalidating()
invalidate
public final void invalidate()
BindingBinding в следующий раз, когда оно запросится.- Определено:
-
invalidateв интерфейсеBinding<T>
isValid
public final boolean isValid()
Binding- Определено:
-
isValidв интерфейсеBinding<T> - Возвращает:
-
true, еслиBindingдействительна,falseв противном случае
isObserved
protected final boolean isObserved()
- Возвращает:
-
true, если у этой привязки в настоящее время зарегистрирован один или несколько слушателей, в противном случаеfalse - С:
- 19
allowValidation
protected boolean allowValidation()
Стандартная реализация всегда разрешает привязкам стать действительными.
- Возвращает:
-
true, если эта привязка разрешена для перехода в действительное состояние, в противном случаеfalse - С:
- 19
computeValue
protected abstract T computeValue()
Классы, расширяющие ObjectBinding, должны предоставить реализацию computeValue.
- Возвращает:
- текущее значение
toString
public String toString()
ObjectBinding.- Переопределяет:
-
toStringв классеObject - Возвращает:
- строковое представление этого объекта
ObjectBinding.
© 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.