我的程序在初始化程序之前会从用户那里获得用户名和密码验证,
所以我创建了一个按钮登录名,并将其与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.中查找其安全性方面

09-05 07:31