Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么';在JavaFX中切换场景的最佳方式是什么?_Javafx - Fatal编程技术网

什么';在JavaFX中切换场景的最佳方式是什么?

什么';在JavaFX中切换场景的最佳方式是什么?,javafx,Javafx,我正在使用普通的JavaFX(没有CSS或FXML)开发一个菜单,但是我想不出一个在场景之间切换的好方法 我想要一个固定的primaryStage,我可以更改它的内容 我对菜单中的所有内容都有一个类(新游戏、选项、信息和退出)。如果我为我的程序中的每个类创建一个start()方法,它就不起作用了,但我也不想为所有的东西创建一个新的阶段 如何修复此问题?在主类(扩展应用程序的类)中有一个变量 private static Stage primaryStage; 并在start(Stage-pri

我正在使用普通的
JavaFX
(没有CSS或FXML)开发一个菜单,但是我想不出一个在场景之间切换的好方法

我想要一个固定的
primaryStage
,我可以更改它的内容

我对菜单中的所有内容都有一个类(新游戏、选项、信息和退出)。如果我为我的程序中的每个类创建一个
start()
方法,它就不起作用了,但我也不想为所有的东西创建一个新的阶段

如何修复此问题?

在主类(扩展应用程序的类)中有一个变量

private static Stage primaryStage;
并在
start(Stage-primaryStage)
方法中设置

然后在主类中创建一个getter

public static Stage getPrimaryStage() {
    return this.primaryStage;
}

现在,您可以使用
MyClass.getPrimaryStage()
从任何地方访问primaryStage,并从任何地方设置该阶段的场景。:)

“如果我为每个类创建一个
start()
方法”。你为什么要这么做?
start()
方法启动应用程序:您只需要启动一次。这是否会产生错误:
非静态变量这不能从静态上下文引用,返回this.primaryStage
如果使用
MyClass.getPrimaryStage()
而不是
classObject.getPrimaryStage()
访问它,应该不会有问题。