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

Class DoubleProperty

    • 构造方法详细信息

      • DoubleProperty

        public DoubleProperty​()
    • 方法详细信息

      • bindBidirectional

        public void bindBidirectional​(Property<Number> other)
        在这个Property之间创建一个双向绑定。 双向绑定与单向绑定无关。 因此,可以向具有双向绑定的属性添加单向绑定,反之亦然。 但是,这种做法是不鼓励的。

        可以有一个属性的多个双向绑定。

        JavaFX双向绑定实现使用弱侦听器。 这意味着双向绑定不会阻止属性被垃圾回收。

        Specified by:
        bindBidirectional在接口 Property<Number>
        参数
        other - 其他 Property
      • unbindBidirectional

        public void unbindBidirectional​(Property<Number> other)
        删除此Property和另一个之间的双向绑定。 如果不存在属性之间的双向绑定,则调用此方法不起作用。 可以通过第二个属性的调用解除绑定。 此代码将工作:
             property1.bindBirectional(property2);
             property2.unbindBidirectional(property1);
         
        Specified by:
        unbindBidirectional在接口 Property<Number>
        参数
        other - 其他 Property
      • toString

        public String toString​()
        返回此 DoubleProperty对象的字符串表示形式。
        重写:
        toStringReadOnlyDoubleProperty
        结果
        这个 DoubleProperty对象的字符串表示形式。
      • doubleProperty

        public static DoubleProperty doubleProperty​(Property<Double> property)
        返回一个DoubleProperty ,其中包含一个Property并双向绑定到它。 更改此属性将导致原始属性更改。

        当双向绑定ObjectProperty <Double>和DoubleProperty时,这是非常有用的。

           DoubleProperty doubleProperty = new SimpleDoubleProperty(1.0);
           ObjectProperty<Double> objectProperty = new SimpleObjectProperty<>(2.0);
        
           // Need to keep the reference as bidirectional binding uses weak references
           DoubleProperty objectAsDouble = DoubleProperty.doubleProperty(objectProperty);
        
           doubleProperty.bindBidirectional(objectAsDouble);
        
         
        另一种方法是使用asObject()方法将DoubleProperty转换为ObjectProperty。

        注意:source属性中的null值将被解释为0.0

        参数
        property - 来源 Property
        结果
        A DoubleProperty包裹了 Property
        异常
        NullPointerException - 如果 propertynull
        从以下版本开始:
        JavaFX 8.0
        另请参见:
        asObject()
      • asObject

        public ObjectProperty<Double> asObject​()
        创建一个ObjectProperty双向绑定到这个DoubleProperty 如果这个值DoubleProperty的变化,价值ObjectProperty将自动更新,反之亦然。

        可用于将ObjectProperty绑定到DoubleProperty。

           DoubleProperty doubleProperty = new SimpleDoubleProperty(1.0);
           ObjectProperty<Double> objectProperty = new SimpleObjectProperty<>(2.0);
        
           objectProperty.bind(doubleProperty.asObject());
         
        重写:
        asObjectReadOnlyDoubleProperty
        结果
        新的 ObjectProperty
        从以下版本开始:
        JavaFX 8.0