Java 在网格窗格中居中显示文本

Java 在网格窗格中居中显示文本,java,javafx,Java,Javafx,我是Java的初学者,最近刚开始学习GUI和JavaFX。目前,我正试图将文本放在网格窗格的中心,需要som的帮助,并解释我做错了什么 这是我的代码: GridPane grid = new GridPane(); grid.setMinSize(100, 100); Text text = new Text("Hello World!"); text.setTextAlignment(TextAlignment.CENTER); grid.add(text, 0, 1); grid.setS

我是Java的初学者,最近刚开始学习GUI和JavaFX。目前,我正试图将文本放在网格窗格的中心,需要som的帮助,并解释我做错了什么

这是我的代码:

GridPane grid = new GridPane();
grid.setMinSize(100, 100);

Text text = new Text("Hello World!");
text.setTextAlignment(TextAlignment.CENTER);
grid.add(text, 0, 1);
grid.setStyle("-fx-background-color: #D8BFD8;");

这不起作用(文本不居中),所以我认为我做错了什么。但是我不明白我做错了什么?

我会使用标签而不是文本,这样您就可以设置水平对齐:

Label label = new Label("Hello World!");
gridpane.add(label, 0, 1);
GridPane.setHalignment(label, HPos.CENTER);

我不能让它也工作?我还收到eclipse发出的“setHalignment应该以静态方式使用”的警告。这是为什么?:)@约翰格蒙德森:因为您使用了
gridpane.setHalignment(label,HPos.CENTER)
而不是
gridpane.setHalignment(label,HPos.CENTER)
或者出于某种原因将您的
gridpane
变量命名为
gridpane
。啊!我懂了!好吧,现在我至少没有收到警告信息。但是文本仍然没有居中?“GridPane.setHalignment(label,HPos.CENTER);”将标签居中放置在网格窗格中指定单元格中。(顺便说一句,这同样适用于
文本
,您不需要
标签
)如果它不居中,可能是因为网格窗格在容纳它的任何容器中都没有居中。(也有可能是标签填充了单元格,因此它有额外的空间,并且文本未在标签中居中。)由于您尚未发布完整的示例,因此很难真正了解。。。也看到