在另一个 class JavaFX 方法中更改场景
Changing scene in another class method JavaFX
我是 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();
}
}
上面的代码是我写的代码的简化版本。
我想将场景从一个 class 更改为另一个 class (B) 中的菜单 class (A),并在屏幕上显示新场景。以我的方式似乎是不可能的,我很好奇在那种事情上有什么好的做法。
它的作品。例如,只需尝试简单地调用
ObjectB.anotherFunction(primaryStage);
在你的
之后或之前
primaryStage.show();
方法。你这里的问题是你检查了这个 "if" 一次,甚至在显示这个阶段之前,它在开始时是假的,然后,当它变为真时 - 这段代码已经通过了。你只需要 运行 ObjectB.anotherFunction(primaryStage);
,当你的 if 条件设置为真时。
PS。并且请从小写字母 objectB 而不是 ObjectB 开始变量的名称 - 它只是一个 Java 命名约定。
我是 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();
}
}
上面的代码是我写的代码的简化版本。 我想将场景从一个 class 更改为另一个 class (B) 中的菜单 class (A),并在屏幕上显示新场景。以我的方式似乎是不可能的,我很好奇在那种事情上有什么好的做法。
它的作品。例如,只需尝试简单地调用
ObjectB.anotherFunction(primaryStage);
在你的
之后或之前primaryStage.show();
方法。你这里的问题是你检查了这个 "if" 一次,甚至在显示这个阶段之前,它在开始时是假的,然后,当它变为真时 - 这段代码已经通过了。你只需要 运行 ObjectB.anotherFunction(primaryStage);
,当你的 if 条件设置为真时。
PS。并且请从小写字母 objectB 而不是 ObjectB 开始变量的名称 - 它只是一个 Java 命名约定。