Я пытаюсь проверить, соответствует ли текст в 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)");
}
}
}
И это на самом деле работает почти идеально.Однако, если я вставлю что-нибудь, используя CTRL + V, мне придется набрать еще два символа (вместо одного), прежде чем KeyListener обнаружит, что строка отличается!Так у кого-нибудь есть идеи, почему?
Извините, если я пропустил какие-либо детали - я постарался сделать пост максимально коротким и кратким;поэтому, пожалуйста, не стесняйтесь спрашивать ...