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

Composants Java Discussion :

Utilisation de JPasswordField


Sujet :

Composants Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 46
    Points : 34
    Points
    34
    Par défaut Utilisation de JPasswordField
    Bonjour,
    j'ai crée un interface graphique où un utilisateur peut saisir un mot de passe. Pour s'inscrire l'utilisateur doit saisir son mot de passe.
    J'utilise un JPasswordField et un bouton pour valider.
    sur l'évenement provoqué par le clic sur le bouton, j'essai de récupérer le mot de passe avec la méthode getPassword().
    Cette opération me renvoie un NullPointerException.

    Pout plus de clarté, quelques extraits du code :

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    class MotDePasse extends JDialog implements ActionListener
    {
    JPasswordField champPassWD;
    JButton valider = new JButton("Valider");
    public MotDePasse()
    {
    getContentPane().add(champPassWD = new JPasswordField(15));
    add(valider, BorderLayout.CENTER);
    valider.addActionListener(this);
    }  
     
    public void actionPerformed(ActionEvent e)
    	{
     
    		if (e.getActionCommand().equals("Valider"))
    		{
     
    			try
    			{
    								char [] mp = champPassWD.getPassword();
    									}
    						}
    		catch(Exception ex) {System.out.println(ex);}
    		}
    	}   
    }
    aprés la saisie d'un mot de passe dans le JPasswordField, l'exception est renvoyée.

    Ce bout de code n'est qu'un extrait.

    Est ce que quelqu'un sait comment récupérer le mot de passe afin de pouvoir l'insérer dans une base de données.


    Merci d'avance pour votre aide.

  2. #2
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String mp = champPassWD.getText();

  3. #3
    Membre expert
    Avatar de Janitrix
    Inscrit en
    Octobre 2005
    Messages
    3 391
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3 391
    Points : 3 401
    Points
    3 401
    Par défaut
    Attention : la methode getText() de JPasswordField a été deprecié.
    Moi, ça marche avec ce code (sous eclipse, juste pour info)
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
     
    public class Password extends JFrame implements ActionListener {
     
    	JPasswordField pass;
    	JButton test = new JButton("get");
     
    	public Password(){
    		JPanel pane = new JPanel();
    		test.addActionListener(this);
    		pane.setLayout(new FlowLayout());
    		pane.add(pass = new JPasswordField(15));
    		pane.add(test);
    		setContentPane(pane);
    		setVisible(true);
    	}
     
    	public void actionPerformed(ActionEvent evt) {
    		Object source = evt.getSource();
    		if(source == test) {
    			char[] tet = pass.getPassword();
    			System.out.println(new String(tet));
    		}
    	}
     
    	public static void main(String[] args) {
    		Password p = new Password();
    	}
     
    }
    Mais attention, regarde bien les accolades dans ton actionPerformed, je trouve bizarre que ton compilateur lais passer ça
    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
     
    public void actionPerformed(ActionEvent e) 
       { 
     
          if (e.getActionCommand().equals("Valider")) 
          { 
     
             try 
             { 
                            char [] mp = champPassWD.getPassword(); 
                               } //Tu fermes le bloc try
                      } //Tu fermes le bloc if non?
          catch(Exception ex) {System.out.println(ex);} 
          } //tu fermes le bloc actionperformed
       } //accolade en trop (sauf si accolade de fin de classe)
    Ensuite, ce poste aurais été mieux dans la section InterfaceGraphiques
    Si finallement tu resolus ton probleme n'oublie pas de mettre le sujet en "resolu" ----> bouton en bas a gauche.
    Bonne chance

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 12/04/2011, 10h38
  2. Utilisation de JPasswordField
    Par Jaafar_scorpion dans le forum Eclipse
    Réponses: 4
    Dernier message: 10/03/2011, 22h36
  3. Utilisation d'un JPasswordField
    Par barouz dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 24/04/2006, 08h16
  4. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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