Problème Comparaison JPasswordField [Résolu]

Weedygamer 10 Messages postés dimanche 8 mai 2005Date d'inscription 8 novembre 2011 Dernière intervention - 20 déc. 2006 à 18:36 - Dernière réponse : Weedygamer 10 Messages postés dimanche 8 mai 2005Date d'inscription 8 novembre 2011 Dernière intervention
- 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")
;

A l'affichage, il écrit toujours : "NOT EGAL"

C'est assez embêtant merci pour les reponses
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Twinuts 5279 Messages postés dimanche 4 mai 2003Date d'inscription 19 septembre 2018 Dernière intervention - 21 déc. 2006 à 09:24
3
Merci
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(





p1.getPassword());






String s2 = new String(





p2.getPassword());







if(s1.equals(s2))
    System.out.println("EGAL");
else
    System.out.println("NOT EGAL")
;




------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA

Merci Twinuts 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de Twinuts
didoux95 845 Messages postés mardi 25 avril 2006Date d'inscription 1 août 2017 Dernière intervention - 20 déc. 2006 à 21:51
0
Merci
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")
;

+
Commenter la réponse de didoux95
Weedygamer 10 Messages postés dimanche 8 mai 2005Date d'inscription 8 novembre 2011 Dernière intervention - 20 déc. 2006 à 21:54
0
Merci
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.

merci
Commenter la réponse de Weedygamer
Bel0 71 Messages postés mercredi 14 avril 2004Date d'inscription 14 septembre 2007 Dernière intervention - 20 déc. 2006 à 22:03
0
Merci
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
Commenter la réponse de Bel0
Weedygamer 10 Messages postés dimanche 8 mai 2005Date d'inscription 8 novembre 2011 Dernière intervention - 20 déc. 2006 à 22:08
0
Merci
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.
Commenter la réponse de Weedygamer
Weedygamer 10 Messages postés dimanche 8 mai 2005Date d'inscription 8 novembre 2011 Dernière intervention - 25 déc. 2006 à 19:15
0
Merci
yes bien joué !

merci beaucoup pour la réponse, je pensais pas qu'il fallait faire ça

encore merci et joyeux noël
Commenter la réponse de Weedygamer

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.