2016-04-15 64 views
0

嘿所以即時通訊與我的登錄控制器(MVC模式)有問題。我試圖創建一個登錄屏幕,將記住用戶登錄和所有爵士樂。但是,當我嘗試登錄時,它總是出現錯誤或無法使用的用戶。林不知道爲什麼...登錄控制器使用HashMapping Javafx

眼下HashMap中的唯一用戶( 「管理員」, 「合格」)

輸入在登錄 用戶名:admin 密碼:通過

輸出:用戶未註冊

或者我得到的密碼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); 

    }  
}); 
+0

也tryed包圍嘗試趕上...沒有工作(我知道這是一個馬虎的事情) –

回答

0

您的用戶密碼爲混合起來的時候喲ü致電:

RememberUserLogins.userMap.get(model.getPassword()); 

您檢查,如果地圖包含鍵(「管理員」),但隨後調用get()的價值不是關鍵,它返回null,並導致NPE

+0

所以我需要調用getUser()那裏? –

+0

所以如果我想這樣做,它只是檢查一個新的用戶ID整個hashmap替換「管理員」和「通過」從我的文本和密碼領域的輸入? –