swing的getPassword()和getText()报空指针错误
不明白 这样为什么不行,提示是因为空指针
if (map.get(new String(password.getPassword()).toString()).equals(username.getText().toString()))
但是可以
String nPassword=new String(password.getPassword());
String nUsername=username.getText();
if (map.get(nUsername).equals(nPassword))
报错:
JTextField username = new JTextField(20);
JPasswordField password = new JPasswordField(20);
/*...不必要的代码我截掉了*/
loginButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String nPassword=new String(password.getPassword());
String nUsername=username.getText();
if (map.get(nUsername).equals(nPassword)) {
// 通过哈希表进行密码和用户名的匹配
// if (map.get(new String(password.getPassword()).toString()).equals(username.getText().toString())){//不懂为什么不行,提示是因为空指针
if (code.getText() .equals(String.valueOf((int) verificationCode))) {
JOptionPane.showMessageDialog(null, "login Successfully");
new FunctionMenuTablet();
}
else JOptionPane.showMessageDialog(null, "Verification code error!");
}
else JOptionPane.showMessageDialog(null, "Login failed!\n Password is incorrect or user does not exist");
}
});