我需要回显一个特定字符而不是JTextField
中按下的键。
产生的效果就像我按k
键,但*
出现在文本字段中。
答案 0 :(得分:1)
如何使用JPasswordField
呢?它是JTextField
允许编辑单行文本,其中视图指示输入的内容,但不显示原始字符。
(来自Javadoc的报价)
关于需要动态转换字符的补充,您可能希望查看UpperCaseField
中UpperCaseField
的{{1}}示例。它可以很容易地转换成一些逻辑,将每个角色转换为另一个角色。
答案 1 :(得分:1)
您需要使用JPasswordField
。使用setEchoChar(char)
,您可以回显任何想要的角色。
更新根据OP comments,如果要求根据用户按下的不同键回显不同的字符,可以使用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
}
});