0
所以我遇到的问题是我试图创建应用的帐户创建区域,同时这样做时他们必须输入密码帐户两次。如果密码相同,则帐户将被创建,否则会被告知它们不同并要求再次尝试。两个JTextFields中的数据在相同时不相等
我遇到的问题是,尽管两个JTextField中的数据在使用==进行比较时是相同的,但它们显然不同。我试过的代码如下所示。
JLabel PasswordL = new JLabel();
PasswordL.setText("Password:");
UserPanel.add(PasswordL,"cell 1 0,width 150,height 25,span 2 1");
final JTextField PasswordT = new JTextField();
UserPanel.add(PasswordT,"cell 1 1,width 150,height 25");
JLabel ConfirmPasswordL = new JLabel();
ConfirmPasswordL.setText("Confirm Password:");
UserPanel.add(ConfirmPasswordL,"cell 1 2,width 150,height 25,span 2 1");
final JTextField ConfirmPasswordT = new JTextField();
UserPanel.add(ConfirmPasswordT,"cell 1 3,width 150,height 25");
JButton AddNewUser = new JButton();
AddNewUser.setText("Insert");
AddUserButtonPanel.add(AddNewUser,"cell 0 0,width 100,height 25");
AddNewUser.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println(new String(PasswordT.getText()));
System.out.println(new String(ConfirmPasswordT.getText()));
if (new String(PasswordT.getText()) == new String(ConfirmPasswordT.getText())) {
AdminConsole AC = new AdminConsole();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
} else {
new ErrorWindow("This account already exists!");
}
} else {
JFrame Error = new JFrame();
Error.add(new JLabel("The Password do not match!"));
Error.setSize(200, 50);
Error.setLocationRelativeTo(null);
Error.setVisible(true);
}
}
});
我尝试过使用和不使用新的String(),现在我已经用完了想法。任何意见将不胜感激谢谢。
Comapre使用'.equals'方法:'string1.equals(string2)' – 2015-03-02 14:42:11
使用PasswordT.getText()。equals(ConfirmPasswordT.getText())而不是== – StanislavL 2015-03-02 14:42:15
不要使用==!使用.equals()代替! – 2015-03-02 14:42:59