java - JavaFX 登录访问被拒绝
问题描述
当我尝试使用 redbull 作为用户名和 pass123 作为密码登录时,它不显示访问权限消息,而是转到 else 语句并显示访问被拒绝消息
Label usernameLb = new Label("Username:");
GridPane.setConstraints(usernameLb, 0, 0);
TextField usernameTf = new TextField();
usernameTf.setPromptText("Username");
GridPane.setConstraints(usernameTf , 1, 0);
Label passLb = new Label("Password:");
GridPane.setConstraints(passLb, 0, 1);
TextField passTf = new TextField();
passTf.setPromptText("Password");
GridPane.setConstraints(passTf, 1, 1);
Button loginBtn = new Button("Login");
loginBtn.setOnAction(e -> {
String username = usernameTf.getText();
String password = passTf.getText();
if (username == "redbull" && password == "pass123"){
System.out.println(username + "\n" + password);
JOptionPane.showMessageDialog(null,
"Access Granted", " ", JOptionPane.PLAIN_MESSAGE);
} else {
System.out.println(username + "\n" + password);
JOptionPane.showMessageDialog(null,
"Access Denied", " ", JOptionPane.PLAIN_MESSAGE);
}
});
GridPane.setConstraints(loginBtn, 1, 2);
gridPane.getChildren().addAll(usernameLb,
usernameTf, passLb, passTf, loginBtn);
Scene scene1 = new Scene(gridPane, 300, 200);
window.setScene(scene1);
window.show();
}
解决方案
.equals()
在比较两个字符串的值时使用。
(username.equals("redbull") && password.equals("pass123"))
推荐阅读
- python - 如何将 python 函数添加到 HTML 中?
- spring - Spring boot-keycloak 硬编码角色
- pine-script - 如果满足条件,如何停止脚本?
- html - 延迟表单的操作以在提交之前设法从快递服务器获取答案
- angular - Identityserver4 为外部用户保护/访问 api
- javascript - 组件安装和卸载时更新组件与 socketio 反应
- jquery - 寻找用于将日期转移到 saleforce datepicker 的新日期功能
- spring - 使用重复的额外列使多对多休眠
- typescript - 如何在 TypeScript 中循环对象并使用 for in 循环赋值?
- java - JOOQ 中的 SQL 异常如果与 MSSQL 服务器存在