Weedygamer
Messages postés10Date d'inscriptiondimanche 8 mai 2005StatutMembreDernière intervention 8 novembre 2011
-
20 déc. 2006 à 18:36
Weedygamer
Messages postés10Date d'inscriptiondimanche 8 mai 2005StatutMembreDernière intervention 8 novembre 2011
-
25 déc. 2006 à 19:15
Bonjour, j'ai un ptit problème au sujet des JPasswordField. En fait j'aimerai bien comparer 2 mot de passe venant de deux champs différents. Le problème c'est qu'avec un même mot de passe, le compilateur dit que les deux mot de passe sont différents.
JPasswordField p1 = new JPasswordField("meuh");
JPasswordField p2 = new JPasswordField("meuh");
if(p1.getPassword().equals(p2.getPassword()))
System.out.println("EGAL");
else
System.out.println("NOT EGAL")
;
Twinuts
Messages postés5374Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention 3 mars 2023111 21 déc. 2006 à 09:24
Salut,
p1.getPassword().equals(p2.getPassword()) sur 2 tableau de char compare les adresse et non le contenu
la solution est de le transformer en string avant
PasswordField p1 = new JPasswordField("meuh");
JPasswordField p2 = new JPasswordField("meuh");
String s1 = new String(
didoux95
Messages postés845Date d'inscriptionmardi 25 avril 2006StatutMembreDernière intervention 1 août 20172 20 déc. 2006 à 21:51
http://www.javafr.com/auteurdetail.aspx?ID=757549 slt
esai peut etre avec
JPasswordField p1 = new JPasswordField("meuh");
JPasswordField p2 = new JPasswordField("meuh");
if((p1.getText()).equals(p2.getText()))
System.out.println("EGAL");
else
System.out.println("NOT EGAL")
;
Weedygamer
Messages postés10Date d'inscriptiondimanche 8 mai 2005StatutMembreDernière intervention 8 novembre 2011 20 déc. 2006 à 21:54
salut merci pour ta réponse
je suis d'accord avec getText() ça fonctionne mais au niveau sécurité java a fait mieux vu que cette méthode est depricated. Il faut utiliser getPassword(). Le problème c'est que je n'arrive pas à comparer ces 2 password correctement.
Bel0
Messages postés71Date d'inscriptionmercredi 14 avril 2004StatutMembreDernière intervention14 septembre 2007 20 déc. 2006 à 22:03
Bon quand ça va pas, on regarde comment sont faites les choses.
Soit tu lances, ton debuggeur et tu regardes l'état de l'objet JPasswordField, soit tu n'es pas à l'aise avec ce genre de chose et tu fais des bons vieux println pour voir ce que te retournes getPassword().
Un peu de débrouillardise que diable ! :P
Vous n’avez pas trouvé la réponse que vous recherchez ?
Weedygamer
Messages postés10Date d'inscriptiondimanche 8 mai 2005StatutMembreDernière intervention 8 novembre 2011 20 déc. 2006 à 22:08
Oui heum merci mais bon tout ça c'est déjà fait et refait getPassword() retourne un char[], ce tableau est une représentation possible de la chaine 'encodée' (il y plusieurs représentation). Donc c'est pour cela que lorsque je compare, pour un même mot de passe, deux instances différentes de JPasswordField, ça ne fonctionne pas car si il compare caractère par caractère ce sera faux.
Exemple:
"meuh" pour JPasswordField1 donne "[C@1ca318a"
"meuh" pour JPasswordField2 donne "[C@17a8913"
Voila je sais a peu près pourquoi ça ne marche pas, mais je ne sais pas comment arranger l'affaire.