在其他属性更改时设置属性的值

时间:2016-05-20 16:49:19

标签: javafx binding

我有一个这样的课程:

class SomeObject{
  public SimpleDoubleProperty Vre = new SimpleDoubleProperty(0);

  public SimpleDoubleProperty Vim = new SimpleDoubleProperty(0);

  public SimpleDoubleProperty Vabs = new SimpleDoubleProperty(0);

  SomeObject(){
     Label results_label = new Label();
     results_label.textProperty().bind(Vabs.asString());
  }

}

我希望每当我更改属性VreVim时,Vabs的值都会更新为Vre+j*Vim的模块,该模块会生成标签{{1显示复数的模块。

PS:对于那些考虑立即使用复杂数字的人,我不想这样做。

感谢。

1 个答案:

答案 0 :(得分:3)

只需创建所需的绑定:

vAbs.bind(Bindings.createDoubleBinding(
    () -> Math.sqrt(vRe.get() * vRe.get() + vIm.get() * vIm.get()),
    vRe, vIm);