目前,JavafX中可用的属性绑定包括.add()
,.subtract()
,.multiple()
,negate()
等。
我想绑定一个双重属性(角度)的余弦,类似于
myProperty().bind(cos(angleProperty).multiply(factorProperty));
我可以通过聆听angleProperty
和factorProperty
中的更改来实现这一点,但想知道我是否可以制作自己的cos绑定。
答案 0 :(得分:3)
你可以做到
myProperty().bind(Bindings.createDoubleBinding(() ->
Math.cos(angleProperty.get()) * factorProperty.get(),
angleProperty, factorProperty));
或
DoubleBinding height = new DoubleBinding() {
{
bind(angleProperty);
bind(factorProperty);
}
@Override
public double computeValue() {
return Math.cos(angleProperty.get()) * factorProperty.get() ;
}
};
myProperty().bind(height);
答案 1 :(得分:1)