JavaFX切换场景

标签 java javafx scene

我一直在尝试让我的应用程序在场景之间切换。这是部分代码的副本。制作人员名单场景只有一个后退按钮,可以让我返回主场景。

当我尝试单击主场景上的制作人员名单按钮时,它变成白色的白色屏幕。我相信有更好的方法来解决这个问题你能给我一些建议吗?

public class Application {
public static void main(String[] args) {
    javafx.application.Application.launch(GUI.class);
}
}


public class GUI extends Application {

@Override
public void start(Stage primaryStage) {
    Scene mainScene, creditsScene = null;
    mainScene = getMainScene(primaryStage, creditsScene);
    creditsScene = getCreditsScene(primaryStage, mainScene);
    primaryStage.setTitle("Test application");
    primaryStage.setScene(mainScene);
    primaryStage.show();
}

private Scene getMainScene(Stage primaryStage, Scene creditsScene) {
 final Button credits = new Button("Credits");
    credits.setOnAction((ActionEvent e) -> {
        primaryStage.close();
        primaryStage.setScene(creditsScene);
        primaryStage.show();
    });
    VBox x = new VBox(50);
    x.setAlignment(Pos.CENTER);

    x.getChildren().addAll( run, displayInfo,
            label1, displayInfo, textField, submitName, credits, exit);

    //scene size
    Scene scene = new Scene(x, 650, 900);

    return scene;
}


 private Scene getCreditsScene(Stage primaryStage, Scene main) {
    final Button back = new Button("Back");
    back.setOnAction((ActionEvent e) -> {
        primaryStage.setScene(main);
    });
    VBox x = new VBox(50);
    x.getChildren().addAll(back);
    Scene credits = new Scene(x, 650, 900);
    return credits;
}

最佳答案

尝试切换字符串的顺序:

mainScene = getMainScene(primaryStage, creditsScene);
creditsScene = getCreditsScene(primaryStage, mainScene);

这里传递给 getMainScene null

关于JavaFX切换场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41958793/

相关文章:

java - 如何将特定格式的字符串转换为 double

java - 如何为用 java 编写的文本编辑器实现自动完成?

java - 何时使用 "suppressWhen(...)"或 "filter(...)"?

c# - 统一保存一切(快照)

ios - 从 App Delegate 调用 Storyboard 场景

java - Java 17 中的 LineNumberReader 是否存在不兼容性?

java - "disabled echoing"是什么意思?

带有 CSS 的 JavaFX TextArea 样式

java - 开发人员应该在 JavaFX 中实现自己的 XXXProperties 吗?

JavaFX开启新场景