在JPasswordField中显示密码,而不是将0设置为echo char

时间:2012-07-24 18:52:31

标签: java swing jpasswordfield

如何显示JPasswordField的文本而不是将0设置为echo char?

Java Docs说:

  

将值设置为0表示您希望在键入文本时看到该文本,类似于标准JTextField的行为。

以下导致不兼容类型错误

outField.setEchoChar(0);

wheras

outField.setEchoChar('0');

只需将0设置为echo char(每个数字显示0)。

在JTextField上使用JPasswordField的原因是我想更改echo char并使用其他方法隐藏密码。

谢谢!

5 个答案:

答案 0 :(得分:6)

这样做:

outField.setEchoChar((char)0);

如果你这样做:

outField.setEchoChar(0);

然后0是整数,而不是char,并且该方法需要char。

如果你这样做:

outField.setEchoChar('0');

然后' 0'相当于(char)48。

答案 1 :(得分:2)

执行此操作时:

outField.setEchoChar(0);

你试图将int传递给方法,但这是不允许的,因为它需要一个char类型。而是尝试

outField.setEchoChar((char)0);

答案 2 :(得分:2)

使用值为0的char,而不是数字0,或使用char'0':

    outField.setEchoChar((char)0);

答案 3 :(得分:1)

像这样试试......

outField.setEchoChar((char)0);

答案 4 :(得分:1)

尝试outField.setEchoChar('\0');