JavaFX - 场景中的居中文本

标签 java javafx alignment

我有一个 JavaFX TextSceneGroup

Text waitingForKey
Scene scene
Group root

我有一个字符串 String waitingForKeyString,我要将其添加到 waitingForKey 并且我希望居中对齐。

问题是有时字符串有两个句子,我无法对齐

 String waitingForKeyString= " Level 2 \n\n" + "Press ENTER to start a new game";

String waitingForKeyString= "Press ENTER\n"+ "开始游戏", messageString="";

然后

Scene scene = new Scene(root,SCREEN_WIDTH, SCREEN_HEIGHT, Color.BLACK);
waitingForKey.setText(waitingForKeyString);
root.getChildren().add(waitingForKey);

那么我怎样才能使它居中呢?当我尝试首先对齐 waitingForKeyString时,我销毁了第二个 `waitingForKeyString 和 vicecersa。

最佳答案

你可以使用 StackPane作为 Scene 的根,因为它有一个 alignmentProperty .

如果你想单独对齐 StackPane 中的 Nodes,你可以使用 public static void setAlignment(Node child, Pos value) StackPane 的方法。

示例(一个文本居中对齐,另一个文本居左对齐)

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) {
        try {
            StackPane root = new StackPane();
            Text text2 = new Text("I will be aligned TOPLEFT");
            Text text = new Text(" Level 2 \n\n" + "Press ENTER to start a new game");
            text.setTextAlignment(TextAlignment.CENTER);
            root.getChildren().addAll(text2, text);
            StackPane.setAlignment(text2, Pos.TOP_LEFT);
            StackPane.setAlignment(text, Pos.CENTER);


            Scene scene = new Scene(root, 400, 400);
            primaryStage.setScene(scene);
            primaryStage.show();
        } catch(Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        launch(args);
    }
}

关于JavaFX - 场景中的居中文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37541279/

相关文章:

java - MySQLNonTransientConnectionException : Too many connections

java - 访问 JAX-WS 调度响应的内容

java - 如何在 Android 中从 native C/C++ 调用 Java API

webview - JavaFX WebView 在重新加载时重新创建窗口

c - 在 C 中对齐 printf() 变量和小数

java - 队列从一台 EMX 服务器迁移到另一台

java - 在eclipse中使用JavaFX空指针异常加载css

javafx - 如何防止表格隐藏TornadoFX

java - 想要从 java swing 面板的开头对齐组件

jquery - 我可以使用 CSS 在 <td> 中对齐 <div> 吗?