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。在提问之前,请阅读常见问题解答。