我对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);
答案 0 :(得分:0)
您正在尝试重新创建已存在的内容。
Java提供的JPasswordField将完全按照你想要的方式完成。
这可以像JTextField
一样轻松使用,但可以在按键时隐藏密码。并且您有这个解决方案来获取价值(如果getText()也返回该值,则无法记住)
char[] input = passwordField.getPassword();
有关详细信息,请参阅此guide
修改
由于这不是Swing组件,我不知道,我会给你一个丑陋的解决方案;)
您需要将input
变量保留在内存中。因此,不要在替换值的方法中声明input
,而是在方法之外声明它(作为实例变量)