如何在javafx中从控制器访问应用程序

时间:2014-10-11 01:40:18

标签: javafx javafx-8

如何从Controller类访问javafx Application类?如果我更具体,我需要保留一个舞台并切换场景。

1 个答案:

答案 0 :(得分:2)

您可以在场景的任意节点上调用以下内容以获取当前阶段。

Node.getScene().getWindow()

它将从Window类型中为您提供一个对象。 (舞台子类窗口)

或者您从控制器外部移交舞台:

FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource(
    "Main.fxml"));
fxmlLoader.setRoot(this);
MainController controller = new MainController()
controller.setStage(stage);
fxmlLoader.setController(controller);
try {
    fxmlLoader.load();
} catch (IOException exception) {
    throw new RuntimeException(exception);
}