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
Post a Comment