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

Класс DoubleBinding

java.lang.Object
  • javafx.beans.binding.NumberExpressionBase
    • javafx.beans.binding.DoubleExpression
      • javafx.beans.binding.DoubleBinding

Все реализованные интерфейсы:

Binding<Number>, NumberBinding, NumberExpression, Observable, ObservableDoubleValue, ObservableNumberValue, ObservableValue<Number>



public abstract class DoubleBinding
extends DoubleExpression
implements NumberBinding
Базовый класс, предоставляющий большую часть функциональности, необходимой для реализации Binding значения double.

DoubleBinding предоставляет простую схему проверки на обновление. Расширяющий класс может регистрировать зависимости, вызывая bind(Observable...). Если одна из зарегистрированных зависимостей станет недействительной, этот DoubleBinding помечается как недействительный. С помощью unbind(Observable...) можно остановить наблюдение за зависимостями.

Для обеспечения конкретной реализации этого класса, необходимо реализовать метод computeValue() для расчёта значения этой привязки на основе текущего состояния зависимостей. Он вызывается при обращении к get() для недействительной привязки.

Ниже приведён простой пример DoubleBinding, вычисляющего квадратный корень от ObservableNumberValue moo.

final ObservableDoubleValue moo = ...;
 
 DoubleBinding foo = new DoubleBinding() {
 
     {
         super.bind(moo);
     }
 
     @Override
     protected double computeValue() {
         return Math.sqrt(moo.getValue());
     }
 };
Далее представлен тот же пример с реализациями необязательных методов Binding.getDependencies() и Binding.dispose().
final ObservableDoubleValue moo = ...;
 
 DoubleBinding foo = new DoubleBinding() {
 
     {
         super.bind(moo);
     }
 
     @Override
     protected double computeValue() {
         return Math.sqrt(moo.getValue());
     }
 
     @Override
     public ObservableList> getDependencies() {
         return FXCollections.singletonObservableList(moo);
     }
     
     @Override
     public void dispose() {
         super.unbind(moo);
     }
 };

С момента:

JavaFX 2.0

См. также:

Binding, NumberBinding, DoubleExpression

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

    Конструкторы
    Конструктор и описание
    DoubleBinding()
  • Краткое описание методов

    Все методыМетоды экземпляровАбстрактные методыКонкретные методы
    Модификатор и тип Метод и описание
    void addListener(ChangeListener<? super Number> listener)
    Добавляет ChangeListener, который будет уведомляться всякий раз, когда значение ObservableValue изменяется.
    void addListener(InvalidationListener listener)
    Добавляет InvalidationListener, который будет уведомляться всякий раз, когда Observable становится недействительным.
    protected void bind(Observable... dependencies)
    Начинает наблюдение за зависимостями для изменений.
    protected abstract double computeValue()
    Вычисляет текущее значение этой привязки.
    void dispose()
    Базовая реализация dispose(), которая ничего не делает.
    double get()
    Возвращает результат computeValue().
    ObservableList<?> getDependencies()
    Базовая реализация getDependencies(), которая возвращает пустой ObservableList.
    void invalidate()
    Помечает привязку как недействительную.
    boolean isValid()
    Проверяет, действительна ли привязка.
    protected void onInvalidating()
    Метод onInvalidating() может быть переопределён расширяющими классами для реакции, если эта привязка становится недействительной.
    void removeListener(ChangeListener<? super Number> listener)
    Удаляет заданный слушатель из списка слушателей, которые уведомляются всякий раз, когда значение ObservableValue изменяется.
    void removeListener(InvalidationListener listener)
    Удаляет заданного слушателя из списка слушателей, которые уведомляются всякий раз, когда значение Observable становится недействительным.
    String toString()
    Возвращает строковое представление этого объекта DoubleBinding.
    protected void unbind(Observable... dependencies)
    Прекращает наблюдение за зависимостями для изменений.
    • Наследованные методы из класса javafx.beans.binding.DoubleExpression

      add, add, add, add, add, asObject, divide, divide, divide, divide, divide, doubleExpression, doubleExpression, doubleValue, floatValue, getValue, intValue, longValue, multiply, multiply, multiply, multiply, multiply, negate, subtract, subtract, subtract, subtract, subtract
    • Наследованные методы из класса javafx.beans.binding.NumberExpressionBase

      asString, asString, asString, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThanOrEqualTo, greaterThanOrEqualTo, greaterThanOrEqualTo, greaterThanOrEqualTo, greaterThanOrEqualTo, isEqualTo, isEqualTo, isEqualTo, isEqualTo, isEqualTo, isEqualTo, isEqualTo, isEqualTo, isNotEqualTo, isNotEqualTo, isNotEqualTo, isNotEqualTo, isNotEqualTo, isNotEqualTo, isNotEqualTo, isNotEqualTo, lessThan, lessThan, lessThan, lessThan, lessThan, lessThanOrEqualTo, lessThanOrEqualTo, lessThanOrEqualTo, lessThanOrEqualTo, lessThanOrEqualTo, numberExpression
    • Наследованные методы из класса java.lang.Object

      clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Наследованные методы из интерфейса javafx.beans.binding.NumberExpression

      add, add, add, add, add, asString, asString, asString, divide, divide, divide, divide, divide, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThanOrEqualTo, greaterThanOrEqualTo, greaterThanOrEqualTo, greaterThanOrEqualTo, greaterThanOrEqualTo, isEqualTo, isEqualTo, isEqualTo, isEqualTo, isEqualTo, isEqualTo, isEqualTo, isEqualTo, isNotEqualTo, isNotEqualTo, isNotEqualTo, isNotEqualTo, isNotEqualTo, isNotEqualTo, isNotEqualTo, isNotEqualTo, lessThan, lessThan, lessThan, lessThan, lessThan, lessThanOrEqualTo, lessThanOrEqualTo, lessThanOrEqualTo, lessThanOrEqualTo, lessThanOrEqualTo, multiply, multiply, multiply, multiply, multiply, negate, subtract, subtract, subtract, subtract, subtract
    • Наследованные методы из интерфейса javafx.beans.value.ObservableNumberValue

      doubleValue, floatValue, intValue, longValue
    • Наследованные методы из интерфейса javafx.beans.value.ObservableValue

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

    • DoubleBinding

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

    • 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 Number> listener)
      Описание скопировано из интерфейса: ObservableValue
      Добавляет ChangeListener, который будет уведомляться всякий раз, когда значение ObservableValue изменяется. Если один и тот же слушатель добавляется более одного раза, он будет уведомляться более одного раза. То есть проверка уникальности не выполняется.

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

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

      Определено в:

      addListener в интерфейсе ObservableValue<Number>

      Параметры:

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

      См. также:

      ObservableValue.removeListener(ChangeListener)

    • removeListener

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

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

      Определено в:

      removeListener в интерфейсе ObservableValue<Number>

      Параметры:

      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<Number>

    • getDependencies

      public ObservableList<?> getDependencies()
      Реализация по умолчанию getDependencies(), которая возвращает пустой ObservableList.

      Определено в:

      getDependencies в интерфейсе Binding<Number>

      Возвращает:

      пустой ObservableList

    • get

      public final double get()
      Возвращает результат computeValue(). Метод computeValue() вызывается только в случае, если привязка стала недействительной. Результат кэшируется и возвращается, если привязка не стала недействительной с момента последнего вызова get().

      Определено в:

      get в интерфейсе ObservableDoubleValue

      Возвращает:

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

    • onInvalidating

      protected void onInvalidating()
      Метод onInvalidating() может быть переопределён подклассами для реакции, если эта привязка становится недействительной. Реализация по умолчанию пустая.
    • invalidate

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

      Определено в:

      invalidate в интерфейсе Binding<Number>

    • isValid

      public final boolean isValid()
      Описание скопировано из интерфейса: Binding
      Проверяет, действительна ли привязка.

      Определено в:

      isValid в интерфейсе Binding<Number>

      Возвращает:

      true, если Binding действительна, false в противном случае

    • computeValue

      protected abstract double computeValue()
      Вычисляет текущее значение этой привязки.

      Классы, расширяющие DoubleBinding, должны предоставить реализацию computeValue.

      Возвращает:

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

    • toString

      public String toString()
      Возвращает строковое представление этого объекта DoubleBinding.

      Переопределяет:

      toString в классе Object

      Возвращает:

      строковое представление этого объекта DoubleBinding.

© 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