我已经在我的类中使用了start方法来启动javaFX的primaryStage .
但是我有另一个名为change_screen(int n)的函数,它将根据传递给它的数字创建一个新场景并为该新场景执行primaryStage.setScene()和.show() .
唯一的问题是在start函数中声明了primaryStage,因此我无法在change_screen()函数中访问它 .
我该如何解决这个问题?我已经阅读了整本java教科书,所以我对大多数概念都有所了解,但它并没有深入研究javaFx,所以我不知道如何处理多个场景 .
我有一个游戏,屏幕会根据他们正在查看的菜单而有所不同,那么更容易改变场景的最佳方法是什么?我想尽可能使用primaryStage,因为它已经实例化了,如果我相信我理解javaFX,如果创建了一个知道的阶段,这是一个新的窗口是正确的吗?
如果我的方法是错误的,那么在同一窗口中更改几个场景的正确方法是什么?
2 回答
你不能在外部声明一个变量并将start方法中创建的阶段分配给它吗?
而不是声明你的Pane / StackPane / BorderPane /等 . 在start方法内部,在Main Class中进行 .
然后,如果你试图控制另一个类的“初级阶段”中显示的内容,你可以随时设置它......
实际上,您可以控制主窗口,因为您可以控制它显示的窗格 .
从那时起,如果你想真正访问主要阶段,你可以像James_D所说的那样,并调用主窗口,如下所示......
希望有所帮助