java - How do I compare two passwords (create password and confirm password) useing the .equals() method? -


i'm building simple create account user gui integrated loginscreen class. creates simple user, serializes it, , lets me use access in log in program. problem is, when type in passwords, they're never correct. problem program tells me passwords not same. i'm not sure how fix this, , know how. i'll post code below(the whole thing, along serializing class because problem may here).

user class:

package passwordprogram;  import java.util.arraylist;  import java.awt.borderlayout; import java.awt.color; import java.awt.gridbagconstraints; import java.awt.gridbaglayout; import java.awt.event.actionevent; import java.awt.event.actionlistener;  import java.io.serializable;  import javax.swing.jbutton; import javax.swing.jframe; import javax.swing.jlabel; import javax.swing.jpanel; import javax.swing.jpasswordfield; import javax.swing.jtextfield; import javax.swing.uimanager;  public class user implements serializable, actionlistener {      public static arraylist<string> allusernames = new arraylist<string>();      string username;     string password;      public static void main(string[] args) {         try {             uimanager.setlookandfeel(uimanager.getsystemlookandfeelclassname());         } catch (exception e) {             e.printstacktrace();         }         user user = new user();         user.maingui();     }        jframe frame;     jpanel panel;     jtextfield createusername;     jpasswordfield createpassword;     jpasswordfield confirmpassword;     jbutton createaccount;     jlabel novalid;      public void maingui() {         novalid = new jlabel();         frame = new jframe("create new account!");         panel = new jpanel();         panel.setbackground(color.orange);         createpassword = new jpasswordfield(10);         confirmpassword = new jpasswordfield(10);         createusername = new jtextfield(10);         jlabel usertxt = new jlabel("new username: ");         jlabel userpass = new jlabel("new password: ");         jlabel confirmpass = new jlabel("confirm password: ");         createaccount = new jbutton("create account!");          panel.setlayout(new gridbaglayout());         gridbagconstraints left = new gridbagconstraints();         left.anchor = gridbagconstraints.west;         gridbagconstraints right = new gridbagconstraints();         right.anchor = gridbagconstraints.east;         right.weightx = 2.0;         right.fill = gridbagconstraints.horizontal;         right.gridwidth = gridbagconstraints.remainder;          frame.getcontentpane().add(borderlayout.north, novalid);         frame.getcontentpane().add(borderlayout.center, panel);         panel.add(usertxt, left);         panel.add(createusername, right);         panel.add(userpass, left);         panel.add(createpassword, right);         panel.add(confirmpass, left);         panel.add(confirmpassword, right);          frame.getcontentpane().add(borderlayout.south, createaccount);         frame.setvisible(true);         frame.setsize(500, 300);          createaccount.addactionlistener(this);     }      public void actionperformed(actionevent event) {         if (createusername.gettext().length() <= 0 ) {             novalid.settext("that not valid username. please try again.");             frame.getcontentpane().add(borderlayout.north, novalid);         }          else if (allusernames.contains(createusername.gettext())) {             novalid.settext("that username taken. please try again.");             frame.getcontentpane().add(borderlayout.north, novalid);         }              //this part i'm confused         else if (!(createpassword.getpassword().equals(confirmpassword.getpassword()))) {             novalid.settext("your passwords not match!");             frame.getcontentpane().add(borderlayout.north, novalid);         } else {                 saveuser suser = new saveuser();             suser.createaccount(this);             novalid.settext("account created successfully");             frame.getcontentpane().add(borderlayout.north, novalid);         }     } } 

and serializing class:

package passwordprogram;  import java.io.fileoutputstream; import java.io.objectoutputstream;  public class saveuser {     public void createaccount(user u) {         try {             fileoutputstream fileos = new fileoutputstream("userinfo.txt");             objectoutputstream objectos = new objectoutputstream(fileos);             objectos.writeobject(u);             objectos.close();         } catch (exception e) {             e.printstacktrace();         }     } } 

getpassword() returns char[], not string. use

!(arrays.equals(createpassword.getpassword(), confirmpassword.getpassword())) 

instead


Comments

Popular posts from this blog

c# - Send Image in Json : 400 Bad request -

javascript - addthis share facebook and google+ url -

ios - Show keyboard with UITextField in the input accessory view -