エコー文字の設定

広告

パスワードフィールドに入力された値は、何を入力しても同じ文字が表示され入力された文字が分からないようになっています。この代わりに表示される文字をエコー文字と言いますが、ここではエコー文字を設定する方法を確認します。

エコー文字として使われる文字を設定するにはJPasswordFieldクラスで定義されているsetEchoCharメソッドを使います。

JPasswordField にエコー文字を設定します。このエコー文字は表示のみに過ぎないという点に注意し
てください。インストールされるビューは、任意のグラフィックな方法を使用してフィールドを表示
できます。値を 0 に設定すると、標準の JTextField の動作と同様に、テキストを入力したとおりに
表示させることを示します。 

パラメータ:
  c - 表示するエコー文字

引数にエコー文字として設定したい文字をchar型の値として設定します。

実際の使い方は次のようになります。

JPasswordField pass = new JPasswordField(20);
pass.setEchoChar('*');

サンプルプログラム

では実際に試してみます。

SSample3_1.java

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import java.awt.Container;
import java.awt.BorderLayout;

class SSample3_1 extends JFrame{
  JPasswordField pass;

  public static void main(String args[]){
    SSample3_1 frame = new SSample3_1("タイトル");
    frame.setVisible(true);
  }

  SSample3_1(String title){
    setTitle(title);
    setBounds(100, 100, 300, 250);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    JPanel p = new JPanel();

    JPasswordField pass1 = new JPasswordField(20);
    pass1.setEchoChar('*');
    JPasswordField pass2 = new JPasswordField(20);
    pass2.setEchoChar('秘');

    p.add(pass1);
    p.add(pass2);

    Container contentPane = getContentPane();
    contentPane.add(p, BorderLayout.CENTER);
  }
}

ではコンパイルを行った上で実行してみます。

エコー文字の設定

1つ目のパスワードフィールドのエコー文字は'*'としてあります。

エコー文字の設定

1つ目のパスワードフィールドのエコー文字は'秘'としてあります。

エコー文字の設定

( Written by Tatsuo Ikura )