JTextArea管理员密码控制

时间:2017-03-10 18:47:10

标签: java eclipse jbutton

非常新手且没有经验的编码员,我正在开展我的第一个“从头开始”项目,该项目将是一个简单的POS(销售点)餐厅,直到申请。

the till有一个管理面板,允许用户更改菜单预设和价格,并需要密码才能访问它。

我很草率并且使用了很多进口产品,因为我说的非常新。

请查看以下内容:

if (source == passwordSubmit){
        if (logInPassword.getText() == adminPassword){
            loginFrame.setVisible(false);
            adminFrame.setVisible(true);    
        }
        else logInPassword.append("Incorrect");
    }

该代码位于我的ActionListener处理程序中,该处理程序允许用户在JTextArea logInPassword中输入文本,并将用户文本与adminPassword预设字符串进行比较(目前默认设置为Password

但是我的代码不能正常工作......它是活跃的,因为它给我logInPassword JTextArea添加了“不正确”,但我输入了正确的密码。

我需要吸气剂吗? 不知道我错过了什么。

2 个答案:

答案 0 :(得分:0)

在Java中使用==运算符时,您只是比较浅参考值。行source == passwordSubmit可以工作(因为两者都应该引用同一个对象)。但是对于字符串,可以使两个字符串对象的值相同。在这种情况下,您必须logInPassword.getText().equals(adminPassword)而不是logInPassword.getText() == adminPasswordequals方法比较字符串的值。

答案 1 :(得分:0)

使用.equals()

if (source == passwordSubmit){
            if (logInPassword.getText().equals(adminPassword){
                loginFrame.setVisible(false);
                adminFrame.setVisible(true);    
            }
            else logInPassword.append("Incorrect");
        }