Java 如何在JTextField中回显字符而不是按键

Java 如何在JTextField中回显字符而不是按键,java,swing,Java,Swing,我需要回显一个特定字符,而不是在JTextField中按下的键。 产生的效果就像我按了k键,但是*出现在文本字段中。用a代替怎么样?它是JTextField 这允许编辑一行文本,其中视图指示键入的内容,但不显示原始字符 (引自Javadoc) 关于需要动态转换字符的添加,您可能希望查看带有来自的UpperCaseField的UpperCaseField示例。它可以很容易地转换成某种逻辑,将每个字符转换成另一个字符。您需要使用它。使用,可以回显所需的任何字符 更新根据,如果要求根据用户按下的不同键

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

用a代替怎么样?它是
JTextField

这允许编辑一行文本,其中视图指示键入的内容,但不显示原始字符

(引自Javadoc)

关于需要动态转换字符的添加,您可能希望查看带有来自的
UpperCaseField
UpperCaseField
示例。它可以很容易地转换成某种逻辑,将每个字符转换成另一个字符。

您需要使用它。使用,可以回显所需的任何字符

更新根据,如果要求根据用户按下的不同键回显不同字符,则可以使用
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
        }
    });

我想在每次按键时打印其他内容,并在满足某些条件后将其用作文本字段。我不确定是否理解您的第一次添加。对于后者,一旦满足条件,可以将
JPasswordField
替换为
JTextField
(无论是否为只读)。您始终可以获取用户输入的文本,即使它是
JPasswordField
。它的工作方式应该类似于:在文本区域按“k”键输出“a”,然后在文本区域按“l”输出附加“b”,然后继续此操作process@user2076400如果这是您想要的,请相应地更新您的问题。您的问题(当前版本)只提到将“k”替换为“*”。欢迎使用StackOverflow。在提问之前,请阅读常见问题解答。