我的建议是,先用文本框提示汉字,然后写一个点击事件,移除文本框,添加密码框。
效果图:
测试代码(可以直接运行):
import javax.swing.*;
import java.awt.*;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class test extends JFrame{
JPasswordField passwordField;
JTextField textField;
test(){
super();
setTitle("QQ");
setBounds(100, 100, 380, 280);
getContentPane().setLayout(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
textField = new JTextField("密码");
textField.setBounds(100, 155, 120, 21);
getContentPane().add(textField);
textField.addMouseListener(new MouseAdapter(){
@Override
public void mouseClicked(MouseEvent e) {
getContentPane().remove(textField);
passwordField = new JPasswordField();
passwordField.setBounds(100, 155, 120, 21);
getContentPane().add(passwordField);
}
});
}
public static void main(String[] args) {
new test().setVisible(true);;
}
}
密码框显示汉字,用汉字做掩码吗?
这样的话通过JPasswordField.setEchoChar就可以。
是输入一个字显示的是汉字吗