jTextField принимает только алфавит и пробел

Я хочу, чтобы пользователь вводил только алфавит или пробел, если пользователь вводит другой символ, Я хочу дать сообщение с помощью jOptionPane. Я искал и попробовал приведенный ниже код.

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

но теперь все, что я ввожу это дает ошибку

теперь я изменил код

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);
}

теперь он выдает сообщение только в первый раз, когда пользователь вводит номер. как я могу решить это

Ответы на вопрос(2)

Ваш ответ на вопрос