diff --git a/out/artifacts/MathSystemTogether_jar/MathSystemTogether.jar b/out/artifacts/MathSystemTogether_jar/MathSystemTogether.jar index 4cb1594..248cf22 100644 Binary files a/out/artifacts/MathSystemTogether_jar/MathSystemTogether.jar and b/out/artifacts/MathSystemTogether_jar/MathSystemTogether.jar differ diff --git a/src/main/java/com/example/mathsystemtogether/ExamController.java b/src/main/java/com/example/mathsystemtogether/ExamController.java index 99c42c7..cdb5cb1 100644 --- a/src/main/java/com/example/mathsystemtogether/ExamController.java +++ b/src/main/java/com/example/mathsystemtogether/ExamController.java @@ -140,6 +140,12 @@ public class ExamController { registerStage.setTitle("数学考试系统 - 用户注册"); registerStage.setScene(scene); registerStage.setResizable(false); + + // 获取注册控制器并设置原始登录界面引用 + RegisterController registerController = loader.getController(); + Stage currentStage = (Stage) loginStatusLabel.getScene().getWindow(); + registerController.setOriginalLoginStage(currentStage); + registerStage.show(); } catch (Exception e) { diff --git a/src/main/java/com/example/mathsystemtogether/RegisterController.java b/src/main/java/com/example/mathsystemtogether/RegisterController.java index b19416f..d0fd4d7 100644 --- a/src/main/java/com/example/mathsystemtogether/RegisterController.java +++ b/src/main/java/com/example/mathsystemtogether/RegisterController.java @@ -46,6 +46,9 @@ public class RegisterController { // 邮件服务 private EmailService emailService; + + // 原始登录界面的引用 + private Stage originalLoginStage; @FXML public void initialize() { @@ -60,6 +63,14 @@ public class RegisterController { showStatus("⚠️ 邮件服务未配置,请检查mail.properties文件", true); } } + + /** + * 设置原始登录界面的引用 + * @param originalStage 原始登录界面 + */ + public void setOriginalLoginStage(Stage originalStage) { + this.originalLoginStage = originalStage; + } private void setupLevelComboBox() { ObservableList levels = FXCollections.observableArrayList("小学", "初中", "高中"); @@ -200,11 +211,16 @@ public class RegisterController { @FXML private void handleBackToLogin() { try { - // 关闭当前窗口 + // 关闭当前注册窗口 Stage currentStage = (Stage) backToLoginButton.getScene().getWindow(); currentStage.close(); - // 打开登录界面 + // 关闭原始登录界面(如果存在) + if (originalLoginStage != null && originalLoginStage.isShowing()) { + originalLoginStage.close(); + } + + // 打开新的登录界面 FXMLLoader loader = new FXMLLoader(getClass().getResource("exam-view.fxml")); Scene scene = new Scene(loader.load(), 900, 900); Stage loginStage = new Stage(); diff --git a/user_data.txt b/user_data.txt index 60626e8..9e72d97 100644 --- a/user_data.txt +++ b/user_data.txt @@ -1,3 +1,3 @@ 666|123456789|252436951@qq.com|小学|1760166999971 -wgll|Ymh123456|ymhlovesLQX@163.com|小学|1760257151837 +wgll|Ymh123456|ymhlovesLQX@163.com|小学|1760261535669