1

是否可以在 Rectangle 类中创建类似于 DoubleProperty xProperty() 左上角但定义右下角的 X 坐标的双属性?

Y坐标也有同样的问题。

这些新属性应该能够作为参数传递给方法 bindDirectional。

谢谢

4

1 回答 1

2

您可以执行以下操作,这应该可以解决此问题。

DoubleBinding maxX = rectangle.xProperty().add(rectangle.widthProperty());
DoubleBinding maxY = rectangle.yProperty().add(rectangle.heightProperty());

otherProperty.bind(maxX);
anotherProperty.bind(maxY);

但是,由于这些属性是计算出来的,因此您不能在 bindBidirectional 中使用它们。原因是 ifotherProperty设置了不同的值,maxX JavaFX无法计算出哪个xPropertywidthProperty要更改。您需要创建自己的属性来执行此操作,具体取决于您希望如何更改从otherProperty影响xPropertywidthProperty

于 2013-03-13T09:37:00.350 回答