所以我一直在研究密码强度检查器,它的工作方式是用户在文本字段中输入一些随机文本,然后显示即时视觉反馈(点分解)。我还添加了一个复选框,选中后应该隐藏密码,即将所有字符替换为星号,同时保留用户输入的实际文本。文档监听器用于跟踪文本字段内的更改。 (条目上的每个字符都会被分析然后评分)
所以,我的问题是,我究竟该如何用星号屏蔽用户输入并保留其原始值?
这是 GUI 的样子:
http://speedcap.net/sharing/screen.php?id=files/51/2f/512f9abb3f92a25add7c593e9d80e9e4.png
最佳答案
How exactly do I mask the user input with asterisks preserving its original value?
使用 JPasswordField
函数 jPasswordField.getPassword();
获取密码作为 char[]
来使用。
- 使用
jPasswordField1.setEchoChar('*')
用*
屏蔽密码字符。 - 如果您希望看到您正在插入的值,请使用
jPasswordField1.setEchoChar((char)0);
将值设置为0
表示您希望看到键入的文本,类似于标准JTextField
的行为。
教程和引用:
关于java - 在 JTextFIeld 中隐藏/显示密码 (Java Swing),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19755259/