我是JavaFX的新手。我正在尝试在第一个项目中更改场景,并且想知道是否可以这样做:
public class A {
...
public void start(Stage primaryStage) throws Exception {
...
B ObjectB = new B();
Scene scene = new Scene();
primaryStage.setScene(scene);
...
if (...) {
ObjectB.anotherFunction(primaryStage);
}
primaryStage.show();
}
}
public class B {
...
public void anotherFunction(Stage stage) {
...
Scene NewScene = new Scene();
stage.setScene(NewScene);
stage.show();
}
}
上面的代码是我写的内容的简化版本。 我想从一个菜单类(A)中的一个类更改场景,而在另一类(B)中更改场景,并在屏幕上显示新场景。看来这是不可能的,我很好奇在这种事情上有什么好的做法。
答案 0 :(得分:0)
它的作品。例如,只需尝试调用
ObjectB.anotherFunction(primaryStage);
您
之前或之后primaryStage.show();
方法。您的问题是,即使在显示此阶段之前,您就检查一次此“ if”,并且在开始时为false,然后,当它变为true时-这一段代码已经通过。将if的条件设置为true时,只需运行ObjectB.anotherFunction(primaryStage);
。
PS。并且,请以小写字母objectB而不是ObjectB开头变量的名称-它只是Java命名约定。