Donc, je travaille sur un vérificateur de force du mot de passe et son fonctionnement est que l'utilisateur entre du texte aléatoire dans un champ de texte, puis un retour visuel instantané (décomposition des points) est affiché. J'ai également ajouté une case à cocher qui, lorsqu'elle est sélectionnée, doit masquer le mot de passe, c'est-à-dire remplacer tous les caractères par des astérisques, tout en préservant le texte saisi par l'utilisateur. Un écouteur de document est utilisé pour suivre les modifications dans le champ de texte. (chaque caractère à l'entrée est analysé puis noté)
Ma question est donc la suivante: comment masquer exactement l'entrée utilisateur avec des astérisques en préservant sa valeur d'origine?
Voici à quoi ressemble l'interface graphique:
http://speedcap.net/sharing/screen.php?id=files/51/2f/512f9abb3f92a25add7c593e9d80e9e4.png
Comment masquer l'entrée utilisateur avec des astérisques en conservant sa valeur d'origine?
Utilisez le JPasswordField
qui a la fonction Nice jPasswordField.getPassword();
pour obtenir le mot de passe comme char[]
avec lequel travailler.
jPasswordField1.setEchoChar('*')
pour masquer les caractères du mot de passe avec *
. jPasswordField1.setEchoChar((char)0);
. Définir la valeur 0
indique que vous souhaitez afficher le texte tel qu'il est saisi, de la même manière que le comportement d'un JTextField
standard.Tutoriel et référence:
Utiliser un champ de mot de passe au lieu d'utiliser un champ de texte
ok merci pour tutorialnya,
et ex,
action case à cocher/double clic
private void lihatActionPerformed(Java.awt.event.ActionEvent evt) {
if (lihat.isSelected()) {
password.setEchoChar((char)0); //password = JPasswordField
} else {
password.setEchoChar('*');
}
}