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();
}
我正在使用 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();
}