jTextField akceptuje tylko alfabet i białe znaki

Chcę, aby użytkownik wprowadził tylko alfabet lub białe znaki, jeśli użytkownik wprowadzi inną postać, chcę przekazać wiadomość z jOptionPane, którą przeszukałem i spróbowałem poniższego kodu

if (!(Pattern.matches("^[a-zA-Z]+$", answerField1.getText())))
        JOptionPane.showMessageDialog(null, "Please enter a valid character", "Error", JOptionPane.ERROR_MESSAGE);

ale teraz cokolwiek wejdę, daje błąd

teraz zmieniłam kod

Pattern letterPattern = Pattern.compile("^[a-zA-Z]+$");

if (!(letterPattern.matcher(answerField1.getText()).matches()))
      {
    JOptionPane.showMessageDialog(null, "Please enter a valid character", "Error", JOptionPane.ERROR_MESSAGE);
}

teraz daje wiadomość tylko za pierwszym razem, gdy użytkownik wprowadzi numer. jak mogę to rozwiązać

questionAnswers(2)

yourAnswerToTheQuestion