From 1d61148af2a8d0cdc8a4a4363fff77edf6b31c25 Mon Sep 17 00:00:00 2001 From: 50582 <505822174@qq.com> Date: Tue, 17 Dec 2019 14:10:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=86=E6=AF=8F=E4=B8=AA?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E7=9A=84=E6=B3=A8=E9=87=8A=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/fxml/Login.fxml | 4 +-- src/imgzip/LoginSignIn/ChangePassword.java | 9 +++++ src/imgzip/LoginSignIn/CreateAccount.java | 36 +++++++++++++++---- .../LoginSignIn/CreateAccountController.java | 7 ++-- .../LoginSignIn/DataBaseController.java | 6 ++++ src/imgzip/LoginSignIn/FindPassword.java | 6 ++++ .../LoginSignIn/GlobalStringManager.java | 7 ++++ src/imgzip/LoginSignIn/Login.java | 8 +++++ src/imgzip/LoginSignIn/LoginBeginner.java | 7 ++++ src/imgzip/LoginSignIn/LoginController.java | 1 + 10 files changed, 77 insertions(+), 14 deletions(-) diff --git a/src/fxml/Login.fxml b/src/fxml/Login.fxml index f767382..ce2e46d 100644 --- a/src/fxml/Login.fxml +++ b/src/fxml/Login.fxml @@ -98,9 +98,9 @@ - diff --git a/src/imgzip/LoginSignIn/ChangePassword.java b/src/imgzip/LoginSignIn/ChangePassword.java index eb440ea..a720f9c 100644 --- a/src/imgzip/LoginSignIn/ChangePassword.java +++ b/src/imgzip/LoginSignIn/ChangePassword.java @@ -10,6 +10,8 @@ import javafx.stage.Stage; /** @Author: 肖尧 @Date: 2019.12.12 + + 改变密码的页面类,写成构造方法形式被调用。 */ public class ChangePassword { @@ -37,6 +39,13 @@ public class ChangePassword { } } +/** + @Author: 肖尧 + @Date: 2019.12.12 + + 提醒用户成功改变密码的页面类,写成构造方法形式被调用。 + */ + class ChangePasswordSuccessfully{ public ChangePasswordSuccessfully(){ diff --git a/src/imgzip/LoginSignIn/CreateAccount.java b/src/imgzip/LoginSignIn/CreateAccount.java index cab5f16..0d61947 100644 --- a/src/imgzip/LoginSignIn/CreateAccount.java +++ b/src/imgzip/LoginSignIn/CreateAccount.java @@ -19,6 +19,8 @@ import java.sql.ResultSet; /** @Author: 肖尧 @Date: 2019.12.4 + + 提供用户创造密码的页面类,通过调用构造方法创建。 */ public class CreateAccount { @@ -39,6 +41,10 @@ public class CreateAccount { already.setVisible(false); already2.setVisible(false); createAccount.setDisable(true); + /** + * change方法:当account输入框失去/得到焦点时,检查一次是否与数据库中的某个账号重复 + * 保证账号的唯一性。 + */ userName.focusedProperty().addListener(new ChangeListener() { @@ -101,6 +107,12 @@ public class CreateAccount { } }); + /** + email的change方法: + 当email输入框失去\获得焦点时,检查email框输入的值是否符合邮箱格式,以及是否已经在数据库中存在。 + 保证格式正确以及数据库中数据唯一性。 + */ + email.focusedProperty().addListener(new ChangeListener() { @Override public void changed(ObservableValue observable, Boolean oldValue, Boolean newValue) { @@ -108,10 +120,10 @@ public class CreateAccount { if(checkIfIsEmail(email.getText())){ if(already2.getText().equals("Invalid email!")){ - already2.setText("Already taken!!"); + already2.setText("Already taken!"); } - if (already2.isVisible()){ + if (already2.isVisible() || "".equals(email.getText())){ already2.setVisible(false); } @@ -164,12 +176,15 @@ public class CreateAccount { }else{ - if("Already taken!!".equals(already2.getText())){ + if("Already taken!".equals(already2.getText())){ already2.setText("Invalid email!"); } - if("".equals(already2.getText())){ + if("".equals(email.getText())){ already2.setVisible(false); + if(!createAccount.isDisable()){ + createAccount.setDisable(true); + } }else { @@ -181,8 +196,6 @@ public class CreateAccount { createAccount.setDisable(true); } - - } } } @@ -203,7 +216,9 @@ public class CreateAccount { } - + /** + * 检查邮箱格式是否正确. + */ public boolean checkIfIsEmail(String email){ String check = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$"; @@ -218,6 +233,13 @@ public class CreateAccount { } +/** + @Author: 肖尧 + @Date: 2019.12.12 + + 提醒用户成功改变密码的页面类,写成构造方法形式被调用。 + */ + class CreateSuccessfully{ public CreateSuccessfully(){ diff --git a/src/imgzip/LoginSignIn/CreateAccountController.java b/src/imgzip/LoginSignIn/CreateAccountController.java index 5822ba6..b18aef0 100644 --- a/src/imgzip/LoginSignIn/CreateAccountController.java +++ b/src/imgzip/LoginSignIn/CreateAccountController.java @@ -222,16 +222,13 @@ public class CreateAccountController { * 检查是否点击了同意privacy协议,如果不同意,则无法点击 createaccount 按钮。 */ public void checkIfSelectedPrivacy(){ - if(!judgeAccountExists && !judgeEmialexist && createAccount.isDisable() && !already2.isVisible() && !already.isVisible()){ - createAccount.setDisable(false); - } boolean userNmae = "".equals(userName.getText()); boolean emial = "".equals(email.getText()); - if(!agree.isSelected() || userNmae || emial ){ - createAccount.setDisable(true); + if(agree.isSelected() && !userNmae && !emial && createAccount.isDisable() && !already.isVisible() && !already2.isVisible()){ + createAccount.setDisable(false); } } diff --git a/src/imgzip/LoginSignIn/DataBaseController.java b/src/imgzip/LoginSignIn/DataBaseController.java index 2e6a98f..a5980f5 100644 --- a/src/imgzip/LoginSignIn/DataBaseController.java +++ b/src/imgzip/LoginSignIn/DataBaseController.java @@ -4,6 +4,12 @@ import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; +/** + @Author: 肖尧 + @Date: 2019.12.12 + + 数据库操作继承类,用于数据库各项操作。 + */ public class DataBaseController { diff --git a/src/imgzip/LoginSignIn/FindPassword.java b/src/imgzip/LoginSignIn/FindPassword.java index adb4586..ba70bfc 100644 --- a/src/imgzip/LoginSignIn/FindPassword.java +++ b/src/imgzip/LoginSignIn/FindPassword.java @@ -6,6 +6,12 @@ import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.stage.Stage; +/** + @Author: 肖尧 + @Date: 2019.12.12 + + 验证用户,决定用户是否可以改变密码的页面类,写成构造方法形式被调用。 + */ public class FindPassword { public FindPassword(){ diff --git a/src/imgzip/LoginSignIn/GlobalStringManager.java b/src/imgzip/LoginSignIn/GlobalStringManager.java index 891f7b1..d66c9b9 100644 --- a/src/imgzip/LoginSignIn/GlobalStringManager.java +++ b/src/imgzip/LoginSignIn/GlobalStringManager.java @@ -1,5 +1,12 @@ package imgzip.LoginSignIn; +/** + @Author: 肖尧 + @Date: 2019.12.12 + + 全局变量类,用于项目内页面之间的信息传递。 + */ + public class GlobalStringManager { static String account = ""; static String emial = ""; diff --git a/src/imgzip/LoginSignIn/Login.java b/src/imgzip/LoginSignIn/Login.java index 929a1e9..ed31a02 100644 --- a/src/imgzip/LoginSignIn/Login.java +++ b/src/imgzip/LoginSignIn/Login.java @@ -16,6 +16,8 @@ import java.io.*; /** @Author: 肖尧 @Date: 2019.12.4 + + 登录页面的页面类,用于用户登录页面。 */ public class Login extends Application { @@ -91,6 +93,12 @@ public class Login extends Application { } +/** + @Author: 肖尧 + @Date: 2019.12.12 + + 登录页面的启动类,写成构造方法形式被调用,方便该文件夹其他页面调用。 + */ class Loginbeginner{ public Loginbeginner(){ diff --git a/src/imgzip/LoginSignIn/LoginBeginner.java b/src/imgzip/LoginSignIn/LoginBeginner.java index bf4dd6c..0bf981d 100644 --- a/src/imgzip/LoginSignIn/LoginBeginner.java +++ b/src/imgzip/LoginSignIn/LoginBeginner.java @@ -12,6 +12,13 @@ import java.io.BufferedReader; import java.io.File; import java.io.FileReader; +/** + @Author: 肖尧 + @Date: 2019.12.12 + + 登录页面的启动类,写成构造方法形式被调用,方便其他文件夹中其他页面调用。 + */ + public class LoginBeginner { public LoginBeginner(){ try { diff --git a/src/imgzip/LoginSignIn/LoginController.java b/src/imgzip/LoginSignIn/LoginController.java index 5bfba75..12c18bd 100644 --- a/src/imgzip/LoginSignIn/LoginController.java +++ b/src/imgzip/LoginSignIn/LoginController.java @@ -144,6 +144,7 @@ public class LoginController { /** 设置记住账号密码按钮的方法。 + 调用方法后,将会往文本文件中写入用户名及密码。 */ public void remember(){ -- Gitee