2016-12-29 24 views
-3

私はかなりJavaの新人です&はログインしましたが、私は星でパスワードを隠したいと思っています。しかし、私がこのスニペットを使用すると、星を使用します。置き換えた後にどうすれば 'エンコード'できますか?文字列を置き換えてもう一度エンコードしてください

EDIT:入力は、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); 
+4

'passwd'はJTextFieldですか? [JPasswordField](http://docs.oracle.com/javase/7/docs/api/javax/swing/JPasswordField.html)を参照してください。入力をどこかに置かないと、それは失われます。 – AxelH

+0

...またはJPasswordField?私たちが頭や尻尾を作るために、もう少しコンテキスト/背景と関連するコードを提供してください。 –

+0

passwdはGuiTextBoxであり、GuiScreen of Minecraftのメソッドです。 – zByte

答えて

0

既に存在するものを再作成しようとしています。

Javaは、あなたが直接必要とするものを正確に行うJPasswordFieldを提供します。

これは簡単にJTextFieldのように使用されますが、キーストロークでパスワードを隠しています。そして、あなたは

char[] input = passwordField.getPassword(); 
(のgetText()があまりにも値を返した場合に思い出すことができない)の値を取得するには、このソリューションを持っている。このため、この guide詳細については


EDIT

を参照してください。 )私はあなたに醜い解決策を与えます;)

変数をメモリに保存する必要があります。したがって、値を置き換えるメソッドでinputを宣言する代わりに、メソッドの外に宣言して(インスタンス変数にする)

+0

GuiTextBoxは、GuiScreen of Minecraftのメソッドです。 – zByte

+0

@zByteこの情報を少し遅らせてしまったので、私は答えを編集しました。 – AxelH

関連する問題