Hide / Show Password in a JTextFIeld (Java Swing)
donc j'ai travaillé sur un vérificateur de la force des mots de passe et la façon dont il fonctionne est que l'utilisateur entre un texte aléatoire dans un champ de texte et puis la rétroaction visuelle instantanée (ventilation des points) est affichée. J'ai aussi ajouté une case à cocher qui, une fois sélectionnée, devrait cacher le mot de passe, c'est-à-dire remplacer toutes les caractères par des astérisques, tout en préservant le texte saisi par l'utilisateur. Un écouteur de document est utilisé pour garder une trace des changements à l'intérieur du champ de texte. (chaque char à l'entrée obtient analyse, puis notation)
donc, ma question Est, comment exactement masquer l'entrée de l'utilisateur avec des astérisques préservant sa valeur originale?
voici à quoi ressemble L'interface graphique:
http://speedcap.net/sharing/screen.php?id=files/51/2f/512f9abb3f92a25add7c593e9d80e9e4.png
3 réponses
comment masquer exactement l'entrée de l'utilisateur avec des astérisques en conservant sa valeur originale?
JPasswordField
qui a une belle fonction jPasswordField.getPassword();
pour obtenir le mot de passe char[]
pour travailler avec.
- Utiliser
jPasswordField1.setEchoChar('*')
pour masquer les caractères du mot de passe*
. - Si vous voulez voir la valeur que vous insérez utiliser
jPasswordField1.setEchoChar((char)0);
définir une valeur de0
indique que vous souhaitez voir le texte tel qu'il est tapé, semblable à la le comportement d'un standardJTextField
.
tutoriel et référence:
utilisez le champ Password au lieu d'utiliser textfield
ok merci pour tutorialnya,
et ex,
action chechbox / double cliquez sur
private void lihatActionPerformed(java.awt.event.ActionEvent evt) {
if (lihat.isSelected()) {
password.setEchoChar((char)0); //password = JPasswordField
} else {
password.setEchoChar('*');
}
}