要判断程序是否执行完成并在关闭窗口之前完成它,您可以添加一些逻辑代码来等待程序执行完成。以下是一个示例:
@FXML
private void closeWindow(ActionEvent event) {
// 添加逻辑代码来确保程序已经执行完成
boolean isFinished = checkIfProgramIsFinished();
if (!isFinished) {
// 如果程序还没有执行完,则给出提示或等待
showConfirmationDialog();
return;
}
// 如果程序已经执行完,则关闭窗口
Stage stage = (Stage) ((Node) event.getSource()).getScene().getWindow();
stage.close();
}
在上面的示例中,checkIfProgramIsFinished()方法会检查程序是否已经执行完毕,并返回一个布尔值。如果程序还没有执行完毕,则showConfirmationDialog()方法将显示一个确认对话框,等待用户确认后再关闭窗口。
请注意,在实际应用程序中,您需要根据具体情况编写自己的逻辑代码来确保程序已经执行完毕。