it-swarm.com.de

Passwort in einem JTextFIeld ausblenden/anzeigen (Java Swing)

Ich habe also an einem Password Strength Checker gearbeitet und funktioniert so, dass der Benutzer einen zufälligen Text in ein Textfeld eingibt und sofort ein visuelles Feedback (Aufschlüsselung der Punkte) angezeigt wird. Ich habe auch ein Kontrollkästchen hinzugefügt, das bei der Auswahl das Kennwort verbergen soll, d. H. Alle Zeichen durch Sternchen ersetzen soll, während die eigentliche Texteingabe durch den Benutzer erhalten bleibt. Ein Dokumentlistener wird verwendet, um Änderungen im Textfeld zu verfolgen. (jedes Zeichen bei der Eingabe wird analysiert und dann bewertet) 

Meine Frage ist also: Wie genau kann ich die Benutzereingabe mit Sternchen maskieren und dabei ihren ursprünglichen Wert beibehalten?

So sieht die GUI aus: 

http://speedcap.net/sharing/screen.php?id=files/51/2f/512f9abb3f92a25add7c593e9d80e9e4.png

14
Manas Bajaj

Wie kann ich die Benutzereingabe mit Sternchen maskieren und dabei den ursprünglichen Wert beibehalten?

Verwenden Sie JPasswordField mit der Nice-Funktion jPasswordField.getPassword();, um das Kennwort als char[] für die Verwendung abzurufen. 

  • Verwenden Sie jPasswordField1.setEchoChar('*'), um die Kennwortzeichen mit * zu maskieren. 
  • Wenn Sie den von Ihnen eingegebenen Wert anzeigen möchten, verwenden Sie jPasswordField1.setEchoChar((char)0); Wenn Sie einen Wert von 0 angeben, bedeutet dies, dass Sie den Text bei der Eingabe sehen möchten, ähnlich dem Verhalten eines Standards JTextField.

Tutorial und Referenz:

  1. Wie benutze ich Passwortfelder
  2. setEchoChar (char)
30
Sage

Kennwortfeld verwenden Anstelle des Textfelds

ok danke für tutorialnya, 

und ex,

aktion Checkbox/Doppelklick

private void lihatActionPerformed(Java.awt.event.ActionEvent evt) {  

   if (lihat.isSelected()) {
      password.setEchoChar((char)0); //password = JPasswordField
   } else {
      password.setEchoChar('*');
   }
}
0
Mahdani Ismail