javafx更改标签的锚点

时间:2012-11-27 12:59:32

标签: position positioning anchor javafx bounding-box

我需要在JavaFX中更改标签的anchorpoint。我将锚描述为拾取以转换底层节点的点。默认情况下,锚点似乎是左上角。

我尝试使用如下所述的其他翻译来解决问题:

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,maxY:-1.0,maxZ:0.0]。

有没有人知道这方面的解决方案?

编辑:添加了一张图片,以便更好地展示

Bild hochladen

1 个答案:

答案 0 :(得分:0)

好的,我自己解决了这个问题。这是我的工作:

  1. 为标签指定宽度和高度,使其具有足够的空间以容纳最长的文本
  2. 重新定位每个象限中的标签。
  3. 在每个象限中设置文本对齐
  4. 示例(宽度:100,高度:15):

    • 东到南:这里没什么可做的,因为默认使用左上边缘 南到西
    • 南到东:将标签重新定位100点向右,使右上边缘粘在圆圈上+将文字对齐方式设置为UPPER_RIGHT

    我希望有时帮助某人。