在keyPress错误字符长度中匹配两个JPasswordFields

时间:2015-06-26 08:58:06

标签: java swing netbeans jpasswordfield

我正在尝试在KeyPress事件中匹配两个JPassWordFields,当我在第一个JPassWordField中键入密码时,它立即返回每个字母的值(我打印了char []输出以确保)但是当我键入相同的密码或这会发生任何密码:

在第一个键击中,它返回空的char数组(例如,如果我按下“e”则返回[])

在第二个键击中,它返回按下的字母的值 在第一个键击中(例如,如果我按下“y”,则返回“e”前一个字母,输出为[e])

在第3个键击时,它返回按下的字母的值 在第二个键击(例如,如果我按下“s”,它返回前一个字母的“y”,输出为[e,y])

依旧......

所以假设我在第一个JPassWordField中输入“eysa”作为密码,我必须在第二个JPassWordField中输入“eysaa”以获得两个匹配的char []输出

如果我将第二个密码退格为“eysa”,则匹配状态仍然为-_-

pp帮助,我的脑袋正在寻找一种闷热的感觉 这里是我正在使用的按键事件:

private void pfRCodeKeyTyped(java.awt.event.KeyEvent evt) {  

    mat = pfCode.getPassword();
    tmp = pfRCode.getPassword();
    if (!(Arrays.equals(mat,null) || Arrays.equals(tmp,null))) {
        if (!Arrays.equals(tmp, mat)) {
            jLWRC.setForeground(Color.red);
            jLWRC.setText("No Match");
        } else {
            jLWRC.setForeground(Color.green);
            jLWRC.setText("Match, password accepted");
        }
    } else {
        jLWRC.setText("password field Empty");
    }
}                                          

0 个答案:

没有答案