Hide/Show Password in a JTextFIeld (Java Swing)

隐身守侯 提交于 2019-12-03 11:38:10

问题


So I've been working on a Password Strength Checker and the way it works is that the user enters some random text into a textfield and then instantaneous visual feedback (breakdown of points) is displayed. I've also added a checkbox, which on being selected, should hide the password i.e. replace all the chars with asterisks, while preserving the actual text input by the user. A document listener is being used to keep track of changes inside the textfield. (each char on entry gets analyzed and then scored)

So, my question is, how exactly do I mask the user input with asterisks preserving its original value?

Here's what the GUI looks like:

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


回答1:


How exactly do I mask the user input with asterisks preserving its original value?

Use the JPasswordField which has nice function jPasswordField.getPassword(); to get the password as char[] to work with.

  • Use jPasswordField1.setEchoChar('*') to mask the password characters with *.
  • If you wish to see the value you are inserting use jPasswordField1.setEchoChar((char)0); Setting a value of 0 indicates that you wish to see the text as it is typed, similar to the behavior of a standard JTextField.

Tutorial and Reference:

  1. How to use Password Fields
  2. setEchoChar(char)



回答2:


Use Password Field Instead of using textfield




回答3:


ok thanks for tutorialnya,

and ex,

action chechbox / double click

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

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


来源:https://stackoverflow.com/questions/19755259/hide-show-password-in-a-jtextfield-java-swing

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!