0

で押されたキーの代わりに、特定の文字をエコーする必要がありますJTextFieldkキーを押したような効果が生成されますが*、テキストフィールドに表示されます。

4

2 に答える 2

1

JPasswordField代わりにa を使用するのはどうですか? のサブクラスですJTextField

これにより、何かが入力されたことをビューが示しているテキストの 1 行を編集できますが、元の文字は表示されません。

(Javadoc からの引用)

文字を動的に変換する必要があるという追加事項については、Javadoc forUpperCaseFieldのanの例を参照してください。これは、すべての文字を別の文字に変換するロジックに簡単に変換できます。UpperCaseFieldJTextField

于 2013-03-29T11:46:48.230 に答える
1

これを使用する必要JPasswordFieldがあります。を使用すると、setEchoChar(char)任意の文字をエコーできます。

更新OP コメントに従って、要件がユーザーが押した別のキーに基づいて別の文字をエコーするkeyTypedことである場合、以下のようにイベントを使用できます。

sampleTextBox.addKeyListener(new KeyAdapter() {
        @Override
        public void keyTyped(KeyEvent event) {
            event.setKeyChar(getCharToEcho(event.getsetKeyChar())); 
                            // getCharToEcho(char inputKey) will return the key to
                            // echo depending upon the key entered by the user
        }
    });
于 2013-03-29T11:47:17.017 に答える