gpt4 book ai didi

java - 为什么 JavaFX 中的第二个场景没有显示?

转载 作者:行者123 更新时间:2023-12-02 10:30:37 25 4
gpt4 key购买 nike

我有一个 JavaFX 程序,应该在两个场景之间切换,第一个场景效果很好,但第二个场景 (scene2) 是空的,并且不显示我创建的按钮,任何帮助将不胜感激!

@Override
public void start(Stage primaryStage) {
//first scene
Button btGenerate = new Button("Generate My First Scene!");
btGenerate.setOnAction((ActionEvent event) -> {primaryStage.setScene(scene2);});

GridPane gPane = createTextFieldPane();
gPane.add(btGenerate, 0, 6);
Scene scene1 = new Scene(gPane, 600, 600);

//second scene
Button btReturn = new Button("Make a New Scene!");
btReturn.setOnAction((ActionEvent event) -> {primaryStage.setScene(scene1);});

Group root = new Group();
root.getChildren().add(btReturn);
Scene scene2 = new Scene(root, 600, 600, Color.LIGHTBLUE);

primaryStage.setTitle("Switch Scenes!");
primaryStage.setScene(scene1);
primaryStage.show();

}

最佳答案

只需将btGenerate上的setOnAction移至声明场景2之后即可

    btGenerate.setOnAction(e-> {
primaryStage.setScene(scene2);
});

这段代码应该在这里:

    Group root = new Group();
root.getChildren().add(btReturn);
Scene scene2 = new Scene(root, 600, 600, Color.LIGHTBLUE);
btGenerate.setOnAction(e-> {
primaryStage.setScene(scene2);
});
primaryStage.setTitle("Switch Scenes!");
primaryStage.setScene(scene1);
primaryStage.show();

您设置了一个空场景,这就是不起作用的原因。

关于java - 为什么 JavaFX 中的第二个场景没有显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53633848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com