我正在尝试在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");
}
}