Java 在jpassword字段中显示密码,而不是将0设置为回显字符

Java 在jpassword字段中显示密码,而不是将0设置为回显字符,java,swing,jpasswordfield,Java,Swing,Jpasswordfield,如何显示JPasswordField的文本,而不是将0设置为回显字符 Java文档说: 将值设置为0表示希望看到键入的文本,类似于标准JTextField的行为 以下操作将导致不兼容的类型错误 outField.setEchoChar(0); 惠拉斯 outField.setEchoChar('0'); 只需将0设置为回显字符(每个数字显示0) 在JTextField上使用JPasswordField的原因是我想更改echo字符并用另一种方法隐藏密码 谢谢 执行此操作时: outField.

如何显示JPasswordField的文本,而不是将0设置为回显字符

Java文档说:

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

以下操作将导致不兼容的类型错误

outField.setEchoChar(0);
惠拉斯

outField.setEchoChar('0');
只需将0设置为回显字符(每个数字显示0)

在JTextField上使用JPasswordField的原因是我想更改echo字符并用另一种方法隐藏密码

谢谢

执行此操作时:

outField.setEchoChar(0);
outField.setEchoChar(0);
outField.setEchoChar('0');
您试图将int传递给该方法,但这是不允许的,因为它需要char类型。相反,尝试

outField.setEchoChar((char)0);

使用值为0的字符,而不是数字0或字符“0”:

    outField.setEchoChar((char)0);
这样做:

outField.setEchoChar((char)0);
如果您这样做:

outField.setEchoChar(0);
outField.setEchoChar(0);
outField.setEchoChar('0');
那么0是一个整数,而不是一个字符,并且该方法需要一个字符

如果您这样做:

outField.setEchoChar(0);
outField.setEchoChar(0);
outField.setEchoChar('0');

那么“0”就相当于(char)48。

像这样尝试一下

outField.setEchoChar((char)0);

尝试
outField.setEchoChar('\0')

另请参见此相关信息。