IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

Vérification de mot de passe lors de l'appuie d'un button


Sujet :

AWT/Swing Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Vérification de mot de passe lors de l'appuie d'un button
    Bonjour voila je suis entrain de créer une interface graphiquedans le but de mon projet de fin d'année.
    J'ai un petit problème au niveau de la gestion des JPasswordField.
    Voila j'ai JPasswordField. Un me permettant d'avoir le nouveau mot de passe du client et le second pour la confirmation. J'aimerai faire une vérification du premier champs lors de l'appuie sur le button et si jamais celui-ci a changer vérifier le second.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    private void jButtonEnregistrerActionPerformed(java.awt.event.ActionEvent evt) {                                                   
     
            jButtonModifier.setEnabled(true);        
            if (jPasswordFieldNouveauMdp.setText(null){
            jPanel2.setVisible(false);
            }
            else {
                if (jPasswordFieldNouveauMdp.getPassword() == jPasswordFieldNouveauMdpConfirm.getPassword() )
                    jPanel2.setVisible(false);
                else
                    jLabelerreurMDP.setVisible(true);
     
            }
    Mais je n'arrive pas a dire que si la chaîne de caractères du premier jPasswordField n'as pas changer on ferme directement le panel lors de l'appuie sur le bouton.

  2. #2
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 47
    Points : 73
    Points
    73
    Par défaut
    Déjà il faut savoir que ta comparaison == entre tes deux char[] ne fonctionnera que si il s'agit du même objet (en terme de référence), ce qui n'est pas le cas vu qu'ils sont générés chacun de leur côté. Donc ton == te retournera toujours "false".

    Essaye plutot de comparer chaque caractère retourné par ton JPasswordField avec le caractère correspondant de l'autre, et là, caractère par caractère, tu pourras utiliser == (si quelqu'un à une méthode plus pratique, je suis preneur )

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par J-pec Voir le message
    Essaye plutot de comparer chaque caractère retourné par ton JPasswordField avec le caractère correspondant de l'autre, et là, caractère par caractère, tu pourras utiliser == (si quelqu'un à une méthode plus pratique, je suis preneur )
    Dans ce cas je dois déclarer un char [] pour chaque jPasswordField ?

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 47
    Points : 73
    Points
    73
    Par défaut
    Je suis loin d'être un spécialiste des JPasswordField et des char[], mais ce que je ferais au vu de mes connaissances actuelles, c'est un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    boolean same=true;
    for(int i=0;i<jPasswordFieldNouveauMdp.getPassword().length;i++){
     
        if(jPasswordFieldNouveauMdp.getPassword()[i]!=jPasswordFieldNouveauMdpConfirm.getPassword()[i]){
     
             same=false;
             break;
       }
     
    }
     
    if(same==true){
       jPanel2.setVisible(false);
    }
    else{
       jLabelerreurMDP.setVisible(true);
    }

    voila plus ou moins.
    Mais il existe peut-être une méthode permettant la comparaison directe de deux tableaux de char, mais je ne la connais pas... Ceci c'est une méthode...manuelle

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Je vais essayer ça ^^

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Re Bonjour.
    Bon j'ai essayer le code que tu m'a proposer en modifier certaine choses .. mais cela ne marche pas .
    J'ai l'impression qu'en fait rien n'est fais.
    Les mot de passe ne sont pas identique mais pourtant , le panel2 se ferme lors de l'appuie sur le bouton .
    De plus la variable same apparemment ne serai pas utilisé dans le code ....

    :/

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Je viens de trouver c'est bon !
    Il existe dans java.util.arrays une méthode equals qui permet de comparrer le contenu de tableau.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    char [] A = jPasswordFieldNouveauMdp.getPassword();
            char [] B = jPasswordFieldNouveauMdpConfirm.getPassword();
     
            if (java.util.Arrays.equals(A, B)){
                jPanel2.setVisible(false);
                jLabelModifConfirmation.setVisible(true);
                jButtonModifier.setEnabled(true);
     
                );
     
            }
            else
                jLabelerreurMDP.setVisible(true);
    Merci pour ton aide J - pec

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Mail] Gérer envoi du mot de passe lors d'un oubli
    Par calitom dans le forum Langage
    Réponses: 7
    Dernier message: 20/07/2007, 16h48
  2. Réponses: 3
    Dernier message: 21/06/2007, 15h55
  3. [opera] afficher le mot de passe lors de la saisie
    Par debuthmx dans le forum Opera
    Réponses: 2
    Dernier message: 17/12/2006, 22h25
  4. Vérification de mot de passe et regex
    Par joseph_p dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 21/03/2006, 11h32
  5. cryptage mots de passe lors de la saisie
    Par ycef dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 14/09/2004, 13h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo