我试图检查JTextField中的文本是否匹配特定模式,如果它确实/不显示用户的消息.这是我到目前为止:
public class input extends KeyListener{
// Some code here
final JTextField inputField = new JTextField(35);
// Some more code...
public void generate(){
// Some GUI code here...
inputField.addKeyListener(this);
}
public void keyPressed(KeyEvent e) {}
public void keyReleased(KeyEvent e) {}
public void keyTyped(KeyEvent e) {
if(e.getSource() instanceof JTextField && e.getSource().equals(inputField)){
if(Pattern.matches("../../....", (JTextComponent) e.getSource()).getText())))
System.out.println("Yh, it works");
else System.out.println("EPIC FAIL (LOL)");
}
}
}
Run Code Online (Sandbox Code Playgroud)
它实际上几乎完美地工作.但是,如果我使用CTRL + V粘贴一些东西,我必须在KeyListener注册字符串不同之前再键入两个字符(而不是一个)!那么任何人都有任何想法的原因吗?
对不起,如果我错过了任何细节 - 我试图尽可能地简短和简洁; 所以请不要犹豫,不要问任何事情......