Module  javafx.base
软件包  javafx.beans.binding

Interface Binding<T>

  • 参数类型
    T - 包装值的类型
    All Superinterfaces:
    ObservableObservableValue<T>
    All Known Subinterfaces:
    NumberBinding
    所有已知实现类:
    BooleanBindingDoubleBindingFloatBindingIntegerBindingListBindingLongBindingMapBindingObjectBindingSetBindingStringBinding


    public interface Binding<T>
    extends ObservableValue<T>
    A Binding计算取决于一个或多个来源的值。 源通常被称为绑定的依赖。 绑定观察其依赖关系进行更改,并自动更新其值。

    虽然绑定的依赖可以是任何东西,但它几乎总是执行ObservableValue Binding实现ObservableValue允许在另一个绑定中使用它。 由此可以通过简单的绑定来组合非常复杂的绑定。

    JavaFX运行时间中的所有绑定都是懒惰的计算。 这意味着,如果依赖关系更改,绑定的结果不会立即重新计算,而是被标记为无效。 下次无效绑定的值被请求时,重新计算。

    建议使用此包中定义的基类之一(例如DoubleBinding )来定义自定义绑定,因为这些类已经提供了大部分所需的功能。 参见DoubleBinding的一个例子。

    从以下版本开始:
    JavaFX 2.0
    另请参见:
    DoubleBinding
    • 方法详细信息

      • isValid

        boolean isValid​()
        检查绑定是否有效。
        结果
        true如果 Binding有效,则 false否则
      • invalidate

        void invalidate​()
        将绑定标记为无效。 这迫使重新计算Binding下一次请求的值。
      • getDependencies

        ObservableList<?> getDependencies​()
        返回绑定在不可修改的依赖关系ObservableList 实施是可选的。 这种方法的主要目的是在开发过程中支持开发人员。 它允许在运行时期间探索和监视绑定的依赖关系。

        因为这种方法不应该在生产代码中使用,所以建议将此功能尽可能稀疏化。 例如,如果依赖关系不变,每个调用都可以生成新的ObservableList ,避免存储结果的必要性。

        结果
        一个不可修改的ObservableList依赖关系
      • dispose

        void dispose​()
        信号到Binding它将不再被使用,任何引用可以被删除。 这种方法的调用通常导致绑定停止以通过取消注册其监听器来观察其依赖关系。 实施是可选的。

        我们实现中的所有绑定使用WeakInvalidationListener实例,这意味着通常不需要处理绑定。 但是,如果您打算在不支持WeakReferences环境中使用应用程序,则必须处理未使用的Bindings以避免内存泄漏。