【发布时间】:2012-12-07 18:23:24
【问题描述】:
我需要更改 JavaFX 中标签的锚点。我将锚描述为被选中以转换底层节点的点。默认情况下,锚点似乎是左上边缘。
我尝试通过如下所述的附加翻译来解决问题:
double x_relocate = label.getBoundsInParent().getWidth();
label.setTranslateX(label.getTranslateX() - x_relocate);
double y_relocate = label.getBoundsInParent().getHeight();
label.setTranslateY(des.getTranslateY() + y_relocate);
代码应该翻译标签,使它的行为就像锚点在右下角一样。这不起作用,因为在我执行代码时,标签的边界框是 [minX:0.0, minY:0.0, minZ:0.0, width:-1.0, height:-1.0, depth:0.0, maxX: -1.0,最大 Y:-1.0,最大 Z:0.0]。
有人知道解决办法吗?
编辑:添加图片以便更好地理解
【问题讨论】:
-
在 stage.show() 命令之后尝试这些代码。
-
不过,使用翻译来改变锚点还是很奇怪的。有没有其他方法可以做到这一点?
标签: position positioning anchor javafx bounding-box