使用HashMappingJavaFX登录控制器

使用HashMappingJavaFX登录控制器,java,login,javafx,hashmap,Java,Login,Javafx,Hashmap,嘿,我的登录控制器(MVC模式)有问题。我正在尝试创建一个登录屏幕,它将记住用户登录和所有这些内容。但当我尝试登录时,它总是显示为错误或未找到用户。我不知道为什么 现在HashMap中唯一的用户是(“admin”、“pass”) 登录时输入 用户名:Admin 密码:Pass 输出:用户未注册 或者我在密码检查时得到一个NPE public LoginController(LoginWindowGui view){ view.setLoginListner(new LoginListener()

嘿,我的登录控制器(MVC模式)有问题。我正在尝试创建一个登录屏幕,它将记住用户登录和所有这些内容。但当我尝试登录时,它总是显示为错误或未找到用户。我不知道为什么

现在HashMap中唯一的用户是(“admin”、“pass”)

登录时输入 用户名:Admin 密码:Pass

输出:用户未注册

或者我在密码检查时得到一个NPE

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”?