替换字符串并再次编码

时间:2016-12-29 13:19:06

标签: java

我对Java&刚刚登录,但我想用星星隐藏密码。但是,如果我使用这个片段,它将使用星星。如何在替换后对其进行“编码”?

编辑:输入来自GuiTextBox,它是GuiScreen of Minecraft的一种方法。

String input = passwd.getText();
char[] ca = new char[input.length()];
Arrays.fill(ca, '*');
String output = new String(ca);

passwd.setText(output);

1 个答案:

答案 0 :(得分:0)

您正在尝试重新创建已存在的内容。

Java提供的JPasswordField将完全按照你想要的方式完成。

这可以像JTextField一样轻松使用,但可以在按键时隐藏密码。并且您有这个解决方案来获取价值(如果getText()也返回该值,则无法记住)

char[] input = passwordField.getPassword();

有关详细信息,请参阅此guide

修改

由于这不是Swing组件,我不知道,我会给你一个丑陋的解决方案;)

您需要将input变量保留在内存中。因此,不要在替换值的方法中声明input,而是在方法之外声明它(作为实例变量)