如何显示fxml文件几秒钟并关闭该fxml文件并返回到mainpage.fxml?
我试图将hideThispage方法添加到fxml控制器类的initialize方法中,但是我猜想initialize方法只是在实际加载该类之前运行,所以我无法运行此代码。
@FXML
public void hideThisPage() throws InterruptedException, IOException {
Window window = new Stage();
PauseTransition pause = new PauseTransition(Duration.seconds(5));
pause.setOnFinished(e -> window.hide());
pause.play();
FxmlDisplay fxmlDisplay = new FxmlDisplay();
fxmlDisplay.stageSelection("View/Main.fxml");
}
要返回main.fxml或任何fxml,我有一个调用的方法:
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource(path));
Parent root = fxmlLoader.load();
Stage stage = new Stage();
stage.setScene(new Scene(root));
stage.show();
在我的情况下,我的printreceipt.fxml文件中有一个打印按钮,用于打印内容。然后它切换到printpage.fxml(我可以切换到页面),但是我的问题是printpage.fxml应该仅显示5秒钟并关闭。然后应该回到main.fxml。如何以及在何处调用hidethisPage()方法?
@FXML
void printRandomTicket(ActionEvent event) throws SQLException, ClassNotFoundException, JRException, IOException, InterruptedException {
FxmlDisplay fxmlDisplay = new FxmlDisplay();
((Node) event.getSource()).getScene().getWindow().hide();
fxmlDisplay.stageSelection("/View/Dialogs/PrintingTicket.fxml");
GenerateTicket generateTicket = new GenerateTicket();
generateTicket.generateTicket();
PrintTicket printTicket = new PrintTicket();
printTicket.printTicket();
}
我希望这可以弄清楚。