ユーザーとのすべての対話を表示する 1 つの JTextArea を使用して ATM シミュレーターを構築しています。ユーザーにピンを入力してもらいたいのですが、ウェルカム メッセージの下の JtextArea アスタリスクに表示されます。ユーザーを確認できるように、コード内でアスタリスクを実数として読み取っているときにアスタリスクを表示するにはどうすればよいですか? また、ユーザーがあるステップから次のステップに進むにつれて、JTextArea を別のテキストで動的に更新したいと考えています。たとえば、ピンを入力するためのテキストを、引き出しに関するテキストで上書きします。そうし続けると、ユーザーは関連情報で画面が更新されます。JtextArea を操作する方法についてのリソースやヘルプを歓迎します。または、これを達成するためのより良いアプローチを誰かが提案できるかどうか。
2 に答える
2
JTextArea をユーザーと 1 行ずつ対話するコンソールのように使用しようとしていて、PIN 番号を表示しない場合は、少し扱いにくい場合があります。考えられる解決策の 1 つは、JTextArea の Document で DocumentFilter を使用し (最初に PlainDocument にキャストする) 、プログラムが PIN 取得モードでない限り(おそらく、このためのブール変数がある)、入力されたすべてのテキストを通過させることです。 、入力したテキストをプログラム自体に保存しますが、DocumentFilter を介して「*」のみを表示します。これはやり過ぎかもしれませんが、うまくいく可能性があります。
于 2012-05-04T01:09:59.897 に答える
2
インスタンス aJPasswordField
が必要な場合があると思います。
アスタリスクを付けるには、
passwordField.setEchoChar('*');
PIN を回復するには、次のようにします。
char[] pin = passwordField.getPassword();
このアプローチではJLabel
、ユーザーに情報を表示するためのウェルカム メッセージなど、他のコンポーネントが必要です。
于 2012-05-04T01:10:55.097 に答える