使用HashMappingJavaFX登录控制器
嘿,我的登录控制器(MVC模式)有问题。我正在尝试创建一个登录屏幕,它将记住用户登录和所有这些内容。但当我尝试登录时,它总是显示为错误或未找到用户。我不知道为什么 现在HashMap中唯一的用户是(“admin”、“pass”) 登录时输入 用户名:Admin 密码:Pass 输出:用户未注册 或者我在密码检查时得到一个NPE使用HashMappingJavaFX登录控制器,java,login,javafx,hashmap,Java,Login,Javafx,Hashmap,嘿,我的登录控制器(MVC模式)有问题。我正在尝试创建一个登录屏幕,它将记住用户登录和所有这些内容。但当我尝试登录时,它总是显示为错误或未找到用户。我不知道为什么 现在HashMap中唯一的用户是(“admin”、“pass”) 登录时输入 用户名:Admin 密码:Pass 输出:用户未注册 或者我在密码检查时得到一个NPE public LoginController(LoginWindowGui view){ view.setLoginListner(new LoginListener()
public LoginController(LoginWindowGui view){
view.setLoginListner(new LoginListener(){
@Override
public void buttonClicked(LoginEvent le) {
model = le.getPerson();
model.setUserName(le.getPerson().getUserName());
model.setPassword(le.getPerson().getPassword());
System.out.println(le.getSource());
System.out.println(le.getPerson());
if(RememberUserLogins.userMap.containsKey("admin")){
String storedPassword = RememberUserLogins.userMap.get(model.getPassword());
if(storedPassword.equals("pass")){
System.out.println("Login Scussfull!!!");
} else {
System.out.println("Password Incorrect.");
}
} else {
System.out.println("User not Registered, "
+ "Please Register now.");
}
System.out.println(RememberUserLogins.userMap);
}
});
您在呼叫时混淆了用户和密码:
RememberUserLogins.userMap.get(model.getPassword());
您检查了映射是否包含键(“admin”),但随后您对值而不是键调用了
get()
,这将返回null,并导致NPE也尝试用try-catch环绕。。。没有工作(我知道这是一件草率的事情),所以我需要在那里调用getUser()?所以如果我想让它只检查整个hashmap中的新用户id,用我的文本和密码字段中的输入替换“admin”和“pass”?