Регулярное выражение, очистка TextField - Java

Узнай цену своей работы

Формулировка задачи:

Есть такой метод:
Листинг программы
  1. protected void setNumberFilter(TextField textBox){
  2. textBox.textProperty().addListener(new ChangeListener<String>() {
  3. @Override
  4. public void changed(ObservableValue<? extends String> ov, String oldValue, String newValue) {
  5. if(!newValue.matches("^-?\\d+$")){
  6. textBox.setText(oldValue);
  7. }
  8. }
  9. }
  10. );
  11. }
и есть кнопка, которая очищает поле любым образом: так
Листинг программы
  1. textBox.clear();
или так:
Листинг программы
  1. textBox.setText("");
http://prntscr.com/d2a9dv если нажимать, то поле не очистится, а если делать так:
Листинг программы
  1. textBox.setText(null);
то очистится, но будет исключение NPE. Как можно решить эту проблему?

Решение задачи: «Регулярное выражение, очистка TextField»

textual
Листинг программы
  1. if (!("".equals(newValue) || newValue.matches("^-?\\d+$")))

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут