【问题标题】:javafx: set different Node Orientation for labels in GridPanejavafx:为 GridPane 中的标签设置不同的节点方向
【发布时间】:2016-01-08 12:47:35
【问题描述】:

我有一个 GridPane,我希望一个标签从 从左到右,而另一个标签从 从右到左。但是,我就是无法正常工作。我可以为 GridPane 本身设置节点方向,但不能为单个标签设置节点方向。

这是我目前所拥有的:

GridPane gridPane = new GridPane();
...
// upper left corner of grid pane
Label label1 = new Label("left to right");
label1.setNodeOrientation(NodeOrientation.RIGHT_TO_LEFT);
gridPane.add(label1, 0, 0,7,1);

// bottom right corner of grid pane
Label label2 = new Label("right to left");
label2.setNodeOrientation(NodeOrientation.LEFT_TO_RIGHT);
gridPane.add(label2, 2, 9,8,1);

更新: 由于 GridPane 默认节点方向是从左到右,label1 实际上没问题。问题出在我的 label2 上。我希望它从右到左跨越,这样无论文本的长度如何,它总是从最右下角开始。

一个理想的例子 (3 X 10) 是:

|Label1          |
|                |
|          Label2|

理想情况下,如果 Label2 从右到左跨越网格,并且如果标签中的文本长度增加,它将如下所示:

|Label1          |
|                |
|      Label2Long|

但现在,我得到的是:

|Label1          |
|                |
|  Label2Long    |     <- I want to get rid of the space between the label and the right border

【问题讨论】:

  • 我不确定nodeOrientation 是否是您要查找的属性。你真正想要的结果是什么?
  • 请查看编辑。如果我解释不正确,请告诉我。
  • 如果我理解正确的话,您说的是对齐,而不是方向。
  • 是的。我一直认为它是方向,这就是为什么在阅读文档时忽略了 alignment 这个词

标签: java javafx


【解决方案1】:

nodeOrientation 与对齐无关,这才是你真正想要的。

我想你想要

GridPane.setHalignment(label2, HPos.RIGHT);

GridPane 的 Javadocs 详细描述了如何使用所有这些设置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-28
    • 2018-04-21
    • 2015-09-17
    • 2020-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-04
    相关资源
    最近更新 更多