2012-07-24 89 views
3

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

Java文档说:

设置为0的值表明您希望看到的文字,因为它是类型化的,类似于标准JTextField的行为。

在不兼容的类型的结果如下错误

outField.setEchoChar(0); 

wheras

outField.setEchoChar('0'); 

简单地设置0作为回波char(用每个数字显示器0)。

通过JTextField使用JPasswordField的原因是我想更改echo char并用另一种方法隐藏密码。

谢谢!

+0

另见本相关[示例](http://stackoverflow.com/a/5342146/230513)。 – trashgod 2012-07-24 21:33:21

回答

6

这样做:

outField.setEchoChar((char)0); 

如果你这样做:

outField.setEchoChar(0); 

然后0是一个整数,而不是char,并且会见霍德需要一个字符。

如果你这样做:

outField.setEchoChar('0'); 

那么 '0' 等价于(焦炭)48。

2

当你这样做:

outField.setEchoChar(0); 

你想一个int传递给方法,这是不允许的,因为它需要一个char类型。相反,尝试

outField.setEchoChar((char)0); 
2

使用CHAR值为0,不是数字0,或字符 '0':

​​
1

尝试一下这样的......

outField.setEchoChar((char)0); 
1

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

相关问题