当前位置: 首页 > 知识库问答 >
问题:

标签的javafx更改锚点

凤晨朗
2023-03-14

我需要更改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,宽度:-1.0,高度:-1.0,深度:0.0,maxX:-1.0,maxY:-1.0,maxZ:0.0]。

有人知道这个的解决方法吗?

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

共有1个答案

邹华皓
2023-03-14

好吧,我自己解决了这个问题。我是这么做的:

  1. 为标签提供足够的宽度和高度,以容纳最长的文本。
  2. 重新定位每个象限中的标签
  3. 设置每个象限中的文本对齐方式

示例(宽度:100,高度:15):

  • 东到南:这里没有什么可做的,因为默认情况下使用左上缘南到西
  • 南向东:将标签100点重新定位到右侧,让右上角边缘贴在圆圈上,将文本对齐设置为UPPER_RIGHT

我希望有时间能帮助别人。

 类似资料:
  • 我正在尝试为用Java编写的应用程序制作GUI。 我用Scene Builder制作了fxml文档,正确设置了fx: id,现在我正在尝试对表单进行简单的更改。 我的DocumentController: 我的外汇主文件: 我现在想要的一切,都是将LabelData设置为实际时间戳,但当我运行FX主文件时,什么都不会发生。有人能帮我吗? 谢谢你保罗 更新时间: 我的整个FXML文档: 我想要的一切

  • null 我是否可以从子控制器-b更改父FXML-A中标签的文本?

  • 我希望javafx标签自动更新为正在输入到文本字段中的内容,目前我只有在单击回车键时才更改它。我正在使用秋千和javafx的混合。 这可能吗? 谢谢

  • 在JavaFX中,如何使用“标签”显示随时间不断变化的值?

  • 这不会改变我的标签。只有第一个运行,其他的不会改变。在Java摇摆中,它起作用了,但在Javafx中没有。

  • 从问题的答案中,我可以理解FXMLDocumentController可以作为参数传递,但我不确定如何在通过javascript回调访问控制器时访问它。