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

Class Bindings



  • public final class Bindings
    extends Object
    绑定是一个帮助类,具有很多实用功能来创建简单的绑定。

    通常有两种可能性来定义相同的操作:Fluent API和此类中的工厂方法。 这允许开发人员以最容易理解的方式定义复杂的表达式。 例如表达式result = a*b + c*d可以仅使用Fluent API定义:

    DoubleBinding result = a.multiply(b).add(c.multiply(d));

    或者在捆绑中仅使用工厂方法:

    NumberBinding result = add (multiply(a, b), multiply(c,d));

    或混合两种可能性:

    NumberBinding result = add (a.multiply(b), c.multiply(d));

    使用Fluent API和在此类中使用工厂方法的主要区别是Fluent API要求至少有一个操作数是一个表达式(见javafx.beans.binding )。 (每个表达式都包含一个从ObservableValue生成表达式的静态方法。)

    此外,如果您仔细观察,您可能已经注意到,上述示例中Fluent API的返回类型不同。 在很多情况下,Fluent API可以更具体地说明返回的类型(有关隐式转换的更多详细信息,请参阅NumberExpression

    将应用程序部署为模块

    如果在选择绑定中使用任何类(请参阅各种select*方法)在命名模块中,那么javafx.base模块必须能反映javafx.base 如果模块opens将包含的包至少为javafx.base模块,则可以反射访问类。

    例如,如果com.foo.MyClassfoo.app模块中,则module-info.java可能如下所示:

      module foo.app { opens com.foo to javafx.base; } 

    或者,如果模块exports无条件地包含包装,则可以反射地访问类。

    从以下版本开始:
    JavaFX 2.0
    另请参见:
    BindingNumberBinding