gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 11:04:51 24 4
gpt4 key购买 nike

我有一个 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与对齐无关,这才是你真正想要的。

我想你想要

GridPane.setHalignment(label2, HPos.RIGHT);

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

关于javafx:为 GridPane 中的标签设置不同的节点方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33057421/

24 4 0