无法在简单的javafx应用程序中显示文本

时间:2016-02-27 08:45:58

标签: java javafx

我正在努力在一个简单的javafx应用程序中显示文本,我很难理解它为什么会发生。这是我的代码:

public class Main extends Application {

@Override
public void start(Stage primaryStage) throws Exception{
    //Declarations
    Pane root = new Pane();
    Scene scene = new Scene(root, 960, 600);
    javafx.scene.canvas.Canvas background = new Canvas(3840, 2160);

    StackPane infoPane = new StackPane();
    Text test = new Text("Hello");
    test.setY(500);
    test.setX(500);
    root.getChildren().add(test);

    //Stage Setting
    primaryStage.setScene(scene);
    primaryStage.setTitle("Test application");
    primaryStage.setFullScreen(true);
    primaryStage.setFullScreenExitHint("Press escape to exit fullscreen");
    primaryStage.show();
    //javafx.scene.image.Image icon = new Image("Sample/Test.png");
    //primaryStage.getIcons().add(icon);

    //Parent and child declarations
    infoPane.getChildren().add(test);

    //Styling

    //Background
    StackPane backgroundHolder = new StackPane();
    backgroundHolder.setStyle("-fx-background-color: #0053A8");
    backgroundHolder.getChildren().add(background);
    root.getChildren().add(backgroundHolder);
}

我们的想法是让应用程序具有蓝色背景,其上有不同的文本字段。感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您将test节点添加到root窗格,但随后又将其添加到infoPane。由于节点只能在场景图中出现一次,因此您基本上可以从根窗格中删除它,然后才能看到它。

请注意,您永远不会将infoPane添加到场景图中。

我建议您阅读this tutorial,或者尝试使用Scene Builder进行一些简单的布局。