非常新手且没有经验的编码员,我正在开展我的第一个“从头开始”项目,该项目将是一个简单的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
添加了“不正确”,但我输入了正确的密码。
我需要吸气剂吗? 不知道我错过了什么。
答案 0 :(得分:0)
在Java中使用==
运算符时,您只是比较浅参考值。行source == passwordSubmit
可以工作(因为两者都应该引用同一个对象)。但是对于字符串,可以使两个字符串对象的值相同。在这种情况下,您必须logInPassword.getText().equals(adminPassword)
而不是logInPassword.getText() == adminPassword
。 equals
方法比较字符串的值。
答案 1 :(得分:0)
使用.equals()
if (source == passwordSubmit){
if (logInPassword.getText().equals(adminPassword){
loginFrame.setVisible(false);
adminFrame.setVisible(true);
}
else logInPassword.append("Incorrect");
}