我的程序在初始化程序之前会从用户那里获得用户名和密码验证,
所以我创建了一个按钮登录名,并将其与ActionListener关联,如下所示
login.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
if(txtUserName.getText().equals("Suraj") && (txtPwd.getPassword().toString()).equals("s123")){
dispose();
TimeFrame tFrame = new TimeFrame(userName);
tFrame.setVisible(true);
tFrame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
tFrame.setLayout(new GridLayout());
} else {
JOptionPane.showMessageDialog(null,"User name or password don't match","Acces Denied", JOptionPane.ERROR_MESSAGE);
}
现在发生的问题是即使我输入正确的密码,程序也会显示一条错误消息
最佳答案
getPassword()
返回char[]
。您假定的toString()
不会以字符串形式返回内容。
尝试new String(txtPwd.getPassword()).equals("s123")
。
但是,有一个原因是它是char[]
而不是字符串。尝试在the javadoc.中查找其安全性方面