Gérer un PassWord Field avec Java

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Salut à tout le monde. J'ai un petit souci… Au fait, je suis débutant en Java, et je souhaite utiliser un password field. Mais ça complique un peu… Lorsque je veux récupérer un texte se trouvant dans le password field et l'afficher, le programme me retourne des caractères bizarroïdes au lieu du vrai texte saisi.

Exemple: Lorsque je tape le code suivant: jTextField1.setText(jPasswordField1.getPassword().toString()); Dans le jTextFiels1, au lieu d'avoir un vrai texte saisi dans le jPasswordField, j'ai un résultat pareil: [C@a46b2fc Quelqu'un peut m'aider?

+0 -0

Salut,

En fait, getPassword() te retourne la chaîne de caractère (pas sous forme de String mais d'un tableau de charactère). Ensuite, toString() est la méthode pour convertir n'importe quel objet en chaîne de caractère (mais elle le fait de façon un peu "bête") : pour la plupart des objets, elle retourne l'adresse de l'objet mise en chaîne de caractère, c'est le cas pour ton tableau de char, d'où le fait que tu trouves un résultat bizarre.

Pour convertir ton tableau de char en String, il faut faire :

1
String monPassword = String.valueOf(monField.getPassword());

Au passage, le méthode getText() de JPasswordField a été dépréciée car elle crée un objet String en mémoire qui n'est détruit que par le garbage collector quand ton appli n'en a plus besoin : cela peut poser un problème de sécurité car le password se retrouve en clair en mémoire).

+1 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte