【问题标题】:Bidirectionally bind to property negation双向绑定到属性否定
【发布时间】:2015-12-23 15:42:00
【问题描述】:

给定

DoubleProperty A;
DoubleProperty minusA;

有没有办法将它们的否定双向绑定,以便 A.get() == -minusA.get() 始终为set()

【问题讨论】:

    标签: java data-binding javafx 2-way-object-databinding property-binding


    【解决方案1】:

    我尝试过,但没有找到使用双向绑定的方法,但也许您可以在两者上都使用 InvalidationListner?

    类似

    A.addListener((Observable observable) -> {
            System.out.println("A is invalid");
            minusA.set(A.get() *-1);
        });
    
    minusA.addListener((Observable observable) -> {
            System.out.println("minusA is invalid");
            A.set(minusA.get() * -1);
        });
    

    那么你可以很容易地调用这两个 DoubleProperties 的 setter 方法,另一个值将变为负值。

    希望有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-20
      • 2012-12-17
      • 2020-04-13
      • 2017-05-17
      • 2019-07-23
      • 2016-06-10
      • 1970-01-01
      相关资源
      最近更新 更多