我正在努力在一个简单的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);
}
我们的想法是让应用程序具有蓝色背景,其上有不同的文本字段。感谢您的帮助!
答案 0 :(得分:1)
您将test
节点添加到root
窗格,但随后又将其添加到infoPane
。由于节点只能在场景图中出现一次,因此您基本上可以从根窗格中删除它,然后才能看到它。
请注意,您永远不会将infoPane
添加到场景图中。
我建议您阅读this tutorial,或者尝试使用Scene Builder进行一些简单的布局。