0

我需要回显一个特定的字符而不是按下的键JTextField。产生的效果就像我k按键但*出现在文本字段中。

4

2 回答 2

1

改用 a 怎么样JPasswordField?它是一个子类JTextField

允许编辑单行文本,其中视图指示输入了某些内容,但不显示原始字符。

(引自 Javadoc)

关于字符需要动态转换的附加内容,您可能需要查看Javadoc forUpperCaseField中带有 anUpperCaseField的示例。它可以很容易地转换为某种逻辑,将每个字符转换为另一个字符。JTextField

于 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 回答