Java JPasswordField中指定的字符数
我的java代码中有一个JPasswordField,我希望JPasswordField只能从用户那里获得7个字符作为输入,但不能超过7个字符。请说明如何执行此操作。将ActionListener添加到JPasswordField以执行此操作:Java JPasswordField中指定的字符数,java,Java,我的java代码中有一个JPasswordField,我希望JPasswordField只能从用户那里获得7个字符作为输入,但不能超过7个字符。请说明如何执行此操作。将ActionListener添加到JPasswordField以执行此操作: passwordField.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent event) {
passwordField.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent event) {
JPasswordField field = (JPasswordField) event.getSource();
char[] password = field.getPassword();
if (password.length > 7) {
System.out.println("Password must contain 7 characters!");
}
}
});
或者使用keyListener
passwordField.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent event) {
JPasswordField field = (JPasswordField) event.getSource();
char[] password = field.getPassword();
if (password.length > 7) {
System.out.println("Password must contain 7 characters!");
}
}
});
这不会阻止用户输入超过7个字符,如用户3808922要求的字符。他应该使用KeyListener并监听keyTyped事件。这样他就可以对密码字段中输入的每个字符做出反应。