FXML 通过按钮打开一个新场景

FXML to open a new scene via button

我正在使用 Scene Builder 创建 JavaFX GUI 应用程序。我正在尝试使用 FXML 实现类似的东西:

reportButton = new Button("Report");
reportButton.setOnAction(e -> ReportPage.display());

但我不知道如何使用控制器页面来做到这一点。有人可以告诉我该怎么做吗? 谢谢

这里是如何展示新舞台的。在你的 on action 函数中添加这段代码
(您可以在代码中使用场景构建器添加该功能:On action 属性)

@FXML
private void reportButtonHandler(ActionEvent event) {
    FXMLLoader fxmlLoader = new 
        FXMLLoader(getClass().getResource("pathtofxml/ReportPage.fxml"));
    Parent root1 = (Parent) fxmlLoader.load();
    Stage stage = new Stage();
    //set what you want on your stage
    stage.initModality(Modality.APPLICATION_MODAL);
    stage.setTitle("Report Page");
    stage.setScene(new Scene(root1));
    stage.setResizable(false);
    stage.show();
}