我有一个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
答案 0 :(得分:1)
nodeOrientation
与对齐无关,这正是你真正想要的。
我想你想要
GridPane.setHalignment(label2, HPos.RIGHT);
GridPane
的Javadocs描述了如何在很多细节中使用所有这些设置。