Spec-Zone.ru › OpenJavaFX 11
Модуль javafx.base
Пакет javafx.beans.binding

Класс ObjectBinding<T>

  • java.lang.Object
    • javafx.beans.binding.ObjectExpression<T>
      • javafx.beans.binding.ObjectBinding<T>
  • Type Parameters:
    T - тип обернутого Object
    All Implemented Interfaces:
    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 для примера расширения этого базового класса.

    Since:
    JavaFX 2.0
    See Also:
    Binding, ObjectExpression
  • Constructor Summary

    Constructors
    Constructor Description
    ObjectBinding()
  • Method Summary

    All MethodsInstance MethodsAbstract MethodsConcrete Methods
    Modifier and Type Method Description
    void addListener​(InvalidationListener listener)
    Добавляет InvalidationListener, который будет уведомляться всякий раз, когда Observable становится недействительным.
    void addListener​(ChangeListener<? super T> listener)
    Добавляет ChangeListener, который будет уведомляться всякий раз, когда значение ObservableValue изменяется.
    protected void bind​(Observable... dependencies)
    Начать наблюдение за изменениями зависимостей.
    protected abstract T computeValue()
    Вычисляет текущее значение этого связывания.
    void dispose()
    Стандартная реализация dispose(), которая пуста.
    T get()
    Возвращает результат computeValue().
    ObservableList<?> getDependencies()
    Стандартная реализация getDependencies(), которая возвращает пустой ObservableList.
    void invalidate()
    Пометить связывание как недействительное.
    boolean isValid()
    Проверяет, является ли связывание действительным.
    protected void onInvalidating()
    Метод onInvalidating() может быть переопределён расширяющими классами для реакции, если данное связывание становится недействительным.
    void removeListener​(InvalidationListener listener)
    Удаляет заданный слушатель из списка слушателей, которые уведомляются всякий раз, когда значение Observable становится недействительным.
    void removeListener​(ChangeListener<? super T> listener)
    Удаляет заданного слушателя из списка слушателей, которые уведомляются всякий раз, когда значение ObservableValue изменяется.
    String toString()
    Возвращает строковое представление этого объекта ObjectBinding.
    protected void unbind​(Observable... dependencies)
    Остановить наблюдение за изменениями зависимостей.
    • Methods inherited from class javafx.beans.binding.ObjectExpression

      asString, asString, asString, getValue, isEqualTo, isEqualTo, isNotEqualTo, isNotEqualTo, isNotNull, isNull, objectExpression
    • Methods inherited from class java.lang.Object

      clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Methods inherited from interface javafx.beans.value.ObservableValue

      getValue
  • Подробное описание конструкторов

    • ObjectBinding

      public ObjectBinding()
  • Подробное описание методов

    • addListener

      public void addListener​(InvalidationListener listener)
      Описание, скопированное из интерфейса: Observable
      Добавляет InvalidationListener, который будет уведомлен всякий раз, когда Observable становится недействительным. Если один и тот же слушатель добавляется более одного раза, он будет уведомлен более одного раза. То есть, проверка уникальности не выполняется.

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

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

      Указано:
      addListener в интерфейсе Observable
      Параметры:
      listener - Слушатель для регистрации
      См. также:
      Observable.removeListener(InvalidationListener)
    • removeListener

      public void removeListener​(InvalidationListener listener)
      Описание, скопированное из интерфейса: Observable
      Удаляет заданного слушателя из списка слушателей, которые уведомляются всякий раз, когда значение Observable становится недействительным.

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

      Указано:
      removeListener в интерфейсе Observable
      Параметры:
      listener - Слушатель для удаления
      См. также:
      Observable.addListener(InvalidationListener)
    • addListener

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

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

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

      Указано:
      addListener в интерфейсе ObservableValue<T>
      Параметры:
      listener - Слушатель для регистрации
      См. также:
      ObservableValue.removeListener(ChangeListener)
    • removeListener

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

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

      Указано:
      removeListener в интерфейсе ObservableValue<T>
      Параметры:
      listener - Слушатель для удаления
      См. также:
      ObservableValue.addListener(ChangeListener)
    • 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()
      Метод onInvalidating() может быть переопределен расширяемыми классами для реакции, если эта привязка становится недействительной. Реализация по умолчанию пуста.
    • invalidate

      public final void invalidate()
      Описание, скопированное из интерфейса: Binding
      Отмечает привязку как недействительную. Это принудительно пересчитывает значение Binding в следующий раз, когда оно запрашивается.
      Указано:
      invalidate в интерфейсе Binding<T>
    • isValid

      public final boolean isValid()
      Описание, скопированное из интерфейса: Binding
      Проверяет, является ли привязка действительной.
      Указано:
      isValid в интерфейсе Binding<T>
      Возвращает:
      true, если Binding действительна, false в противном случае
    • 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.

Spec-Zone.ru

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