在另一个类方法JavaFX中更改场景

时间:2018-12-14 22:16:15

标签: javafx scene stage

我是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)中更改场景,并在屏幕上显示新场景。看来这是不可能的,我很好奇在这种事情上有什么好的做法。

1 个答案:

答案 0 :(得分:0)

它的作品。例如,只需尝试调用

  ObjectB.anotherFunction(primaryStage);

之前或之后
primaryStage.show();

方法。您的问题是,即使在显示此阶段之前,您就检查一次此“ if”,并且在开始时为false,然后,当它变为true时-这一段代码已经通过。将if的条件设置为true时,只需运行ObjectB.anotherFunction(primaryStage);

PS。并且,请以小写字母objectB而不是ObjectB开头变量的名称-它只是Java命名约定。