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

14
demandé sur mKorbel 2013-11-03 20:39:28

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 de 0 indique que vous souhaitez voir le texte tel qu'il est tapé, semblable à la le comportement d'un standard JTextField.

tutoriel et référence:

  1. comment utiliser les champs de mot de passe
  2. setEchoChar (char)
28
répondu Sage 2014-12-18 05:50:33

utilisez le champ Password au lieu d'utiliser textfield

0
répondu Muhammad Aasharib Nawshad 2018-04-11 08:13:17

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('*');
   }
}
0
répondu Mahdani Ismail 2018-04-18 12:36:58