java编写登录界面代码怎么写(java账号密码登录界面代码)

使用Java编写登录界面的注意事项

使用Java编写登录界面,需要考虑到以下几个方面:

java编写登录界面代码怎么写(java账号密码登录界面代码)

1. 界面布局:登录界面需要美观,布局要合理。可以使用Swing、JavaFX等GUI工具来实现。同时,需要考虑到不同分辨率和屏幕大小下的适配问题。

2. 用户数据验证:用户在登录界面输入用户名和密码后,需要对这些数据进行验证。验证应该包括数据格式的验证(比如,用户名长度、密码强度等),以及校验用户身份是否合法。

3. 安全性:登录界面需要考虑到网络安全性。比如,需要对用户输入的数据进行加密处理,防止被黑客截获。同时,需要采取一定的安全措施,比如防止重复登录、登录失败次数过多等。

使用Java编写登录界面的关键代码实现

下面是使用Java编写登录界面的关键代码实现:

1. 界面布局:使用JavaFX实现显示窗口以及窗口中的控件——用户名输入框、密码输入框、登录按钮和注册按钮。

```Java
public class Login extends Application {
private Stage stage;

@Override
public void start(Stage primaryStage) throws Exception {
stage = primaryStage;
BorderPane root = new BorderPane();
Scene scene = new Scene(root, 600, 400);
TextField usernameInput = new TextField();
PasswordField passwordInput = new PasswordField();
Button loginButton = new Button("登录");
Button registerButton = new Button("注册");
VBox vbox = new VBox();
vbox.getChildren().addAll(new Label("用户名:"), usernameInput, new Label("密码:"), passwordInput, loginButton, registerButton);
vbox.setSpacing(10);
vbox.setAlignment(Pos.CENTER);
root.setCenter(vbox);
primaryStage.setScene(scene);
primaryStage.show();
}

public static void main(String[] args) {
launch(args);
}
}
```

2. 用户数据验证:使用正则表达式进行格式验证,使用数据库进行身份验证。

```Java
public class UserDatabase {
private Statement statement;

public UserDatabase() throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/testDB", "root", "123456");
statement = conn.createStatement();
}

// 用户登录验证
public boolean login(String username, String password) throws SQLException {
ResultSet resultSet = statement.executeQuery("SELECT * FROM user WHERE username = '" + username + "' and password = '" + password + "'");
if (resultSet.next()) {
return true;
}
return false;
}

// 用户注册
public boolean register(String username, String password) throws SQLException {
if(username.length() < 5 || password.length() < 6)
return false;
ResultSet resultSet = statement.executeQuery("select * from user where username='" + username + "'");
if (resultSet.next()) {
return false;
}
statement.executeUpdate("insert into user (username,password) values('" + username + "','" + password + "')");
return true;
}
}

public class LoginController {
@FXML
private TextField usernameInput;
@FXML
private PasswordField passwordInput;

public void handleLogin(ActionEvent actionEvent) throws SQLException, ClassNotFoundException {
String username = usernameInput.getText().trim();
String password = passwordInput.getText().trim();

if (username.isEmpty() || password.isEmpty()) {
new Alert(Alert.AlertType.ERROR, "请输入用户名和密码").showAndWait();
return;
}

UserDatabase userDatabase = new UserDatabase();
if (userDatabase.login(username, password)) {
new Alert(Alert.AlertType.INFORMATION, "登录成功").showAndWait();
} else {
new Alert(Alert.AlertType.ERROR, "用户名或密码不正确").showAndWait();
}
}
}
```

使用Java编写登录界面的完整代码实现

下面是使用Java编写登录界面的完整代码实现:

```Java
public class Login extends Application {
private Stage stage;

@Override
public void start(Stage primaryStage) throws Exception {
stage = primaryStage;
BorderPane root = new BorderPane();
Scene scene = new Scene(root, 600, 400);
TextField usernameInput = new TextField();
PasswordField passwordInput = new PasswordField();
Button loginButton = new Button("登录");
Button registerButton = new Button("注册");
VBox vbox = new VBox();
vbox.getChildren().addAll(new Label("用户名:"), usernameInput, new Label("密码:"), passwordInput, loginButton, registerButton);
vbox.setSpacing(10);
vbox.setAlignment(Pos.CENTER);
root.setCenter(vbox);
primaryStage.setScene(scene);
primaryStage.show();

loginButton.setOnAction(new EventHandler() {
@Override
public void handle(ActionEvent actionEvent) {
try {
FXMLLoader loader = new FXMLLoader(Login.class.getResource("login.fxml"));
Parent root = loader.load();
Scene scene = new Scene(root, 600, 400);
stage.setScene(scene);
stage.show();
} catch (IOException e) {
e.printStackTrace();
}
}
});

registerButton.setOnAction(new EventHandler() {
@Override
public void handle(ActionEvent actionEvent) {
TextInputDialog dialog = new TextInputDialog();
dialog.setTitle("注册");
dialog.setHeaderText(null);
dialog.setContentText("请输入用户名和密码(用户名长度不少于5位,密码长度不少于6位):");
Optional result = dialog.showAndWait();
if (result.isPresent()) {
String[] values = result.get().split(",");
String username = values[0];
String password = values[1];
UserDatabase userDatabase;
try {
userDatabase = new UserDatabase();
if (userDatabase.register(username, password)) {
new Alert(Alert.AlertType.INFORMATION, "注册成功").showAndWait();
} else {
new Alert(Alert.AlertType.ERROR, "用户名已存在,注册失败").showAndWait();
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException throwables) {
throwables.printStackTrace();
}

}
}
});
}

public static void main(String[] args) {
launch(args);
}
}

public class LoginController {
@FXML
private TextField usernameInput;
@FXML
private PasswordField passwordInput;

public void handleLogin(ActionEvent actionEvent) throws SQLException, ClassNotFoundException {
String username = usernameInput.getText().trim();
String password = passwordInput.getText().trim();

if (username.isEmpty() || password.isEmpty()) {
new Alert(Alert.AlertType.ERROR, "请输入用户名和密码").showAndWait();
return;
}

UserDatabase userDatabase = new UserDatabase();
if (userDatabase.login(username, password)) {
new Alert(Alert.AlertType.INFORMATION, "登录成功").showAndWait();
} else {
new Alert(Alert.AlertType.ERROR, "用户名或密码不正确").showAndWait();
}
}
}

public class UserDatabase {
private Statement statement;

public UserDatabase() throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/testDB", "root", "123456");
statement = conn.createStatement();
}

// 用户登录验证
public boolean login(String username, String password) throws SQLException {
ResultSet resultSet = statement.executeQuery("SELECT * FROM user WHERE username = '" + username + "' and password = '" + password + "'");
if (resultSet.next()) {
return true;
}
return false;
}

// 用户注册
public boolean register(String username, String password) throws SQLException {
if(username.length() < 5 || password.length() < 6)
return false;
ResultSet resultSet = statement.executeQuery("select * from user where username='" + username + "'");
if (resultSet.next()) {
return false;
}
statement.executeUpdate("insert into user (username,password) values('" + username + "','" + password + "')");
return true;
}
}
```

本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/javapeixuny3.html

郑重声明:

本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。

我们不承担任何技术及版权问题,且不对任何资源负法律责任。

如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。

如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!

(0)
上一篇 2023年4月25日 上午1:17
下一篇 2023年4月25日 上午1:17

猜你喜欢