J'essaie de vérifier que le texte d'un JTextField correspond à un modèle particulier, et si c'est le cas / ne l'est pas, d'afficher un message à l'utilisateur. Voici ce que j'ai fait jusqu'à présent :
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)");
}
}
}
Et en fait, cela fonctionne presque parfaitement. Cependant, si je colle quelque chose en utilisant CTRL + V, je dois taper deux caractères supplémentaires (au lieu d'un seul) avant que le KeyListener n'enregistre que la chaîne est différente ! Quelqu'un a-t-il une idée de la raison ?
Désolé si j'ai omis des détails - j'ai essayé de rendre ce post aussi court et concis que possible ; alors n'hésitez pas à demander quoi que ce soit...