Erro em JTextField ao retornar o Focus, apos verificar Expressão regular

private void txtSobrenomeFocusLost(java.awt.event.FocusEvent evt) { if (!txtSobrenome.getText().matches("[a-zA-Z ]+")){ JOptionPane.showMessageDialog(null, "Sobrenome errado"); txtSobrenome.setText(""); txtSobrenome.requestFocus(); return; } }

a ideia era fazer o focus voltar ao JTextField que apresentou o erro na ER, porem o JOptionPane() informa 3 vezes que a expressao esta incorreta antes de voltar ao JTextField da expressao errada, alguem sabe de algo do objeto nao poder receber o focus novamente ou coisa parecida, tem como corrigir isso?

foi mal ter ido pro lado errado do forum