javafx:为GridPane中的标签设置不同的节点方向

时间:2015-10-10 18:18:23

标签: java javafx

我有一个GridPane,我希望一个标签从 从左到右 ,而另一个标签从 从右到左< / EM> 即可。但是,我无法让这个工作。我可以为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);

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

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

|Label1          |
|                |
|          Label2|

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

|Label1          |
|                |
|      Label2Long|

但是现在,我得到的是:

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

1 个答案:

答案 0 :(得分:1)

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

我想你想要

GridPane.setHalignment(label2, HPos.RIGHT);

GridPane的Javadocs描述了如何在很多细节中使用所有这些设置。