我现在需要一个文本框,
输入数字之类的正常显示
输入密码时,显示*
如何操作?

解决方案 »

  1.   

    JPasswordField不设置掩码默认是正常显示么?
      

  2.   

    不是,密码域默认是星号。setEchoChar(Char c)可以定义你要显示的掩码。但是是一摸一样的字符。比如全是A,全是B。个人意见,可以这样。把一个单行文本框和你的密码域叠在一起,一样大,一样坐标位置。然后,在需要原文显示的时候,可以把密文用getPassword()方法获取到一个Char的数组里面,然后再倒腾成一个字符串,给文本框输入内容,将上面的密码域隐藏掉,不就好了?速度很快,用户是没办法用肉眼捕捉的。
      

  3.   

    你的是个方法,但是麻烦
    我现在只用了JTextField,当它需要显示密码时,让它不可用(防止用户鼠标光标错位),我就让它显示*,同时将用户按键的值一一记在一个String里,用这个别String比较就行了,如果密码对了,就将它恢复可用,不再显示*,显示正常字符!