Wie kann ich eine Eingabe in Java "nicht lesbar" machen durch Sternchen anstatt dem Zeichen, ähnlich wie bei Passwörtereingaben?
Hey Leute,
in meinem Programm wird eine Box geöffnet, wo der User sein Passwort eingeben muss, bisher ist das Passwort beim eingeben aber sichtbar, es soll aber "unsichtbar" sein, durch Sternchen anstatt der Eingabe
2 Antworten
Sofern du Swing benutzt, verwende statt JTextField einfach JPasswordField.
Bei JavaFX solltest du anstatt TextField einfach PasswordField nutzen.
Diese bieten bereits die Funktionalität die du suchst.
Verstehe, aber auch dafür gibt es eine Lösung:
JPanel panel = new JPanel();
JLabel label = new JLabel("Enter a password:"); JPasswordField pass = new JPasswordField(10); panel.add(label); panel.add(pass); String[] options = new String[]{"OK", "Cancel"}; int option = JOptionPane.showOptionDialog(null, panel, "The title", JOptionPane.NO_OPTION, JOptionPane.PLAIN_MESSAGE, null, options, options[1]); if (option == 0) // pressing OK button { char[] password = pass.getPassword(); System.out.println("Your password is: " + new String(password)); }
Wurde so auf Stackoverflow gelöst:
http://stackoverflow.com/questions/8881213/joptionpane-to-get-password
Vielen Dank, habe es grad so ähnlich schon gelöst:-)
Was hältst du von:
TextField password = new TextField(20);
password.setEchoCharacter('*');
?
ich hab die eingabe als String, String ist nicht zulässig:/
String vKennung = JOptionPane.showInputDialog("Bitte Benutzernamen eingeben:");
String pw = JOptionPane.showInputDialog(null, "Bitte Passwort eingeben:");
int lengLog = vKennung.length();
int lengPw = pw.length();
Das Passwort soll verschlüsselt sein
Vielen Dank, habe es grad so ähnlich schon gelöst:-)
hm das macht mir dann Probleme mit "ShowopenDialog"...er sagt das JPasswordField dafür nicht definiert ist:(