JavaFX 8: как добавить задержку времени для слушателя?

Я сейчас работаю над приложением JavaFX 8, где у меня есть tableView и некоторые текстовые поля, которые позволяют искать / фильтровать определенные столбцы в tableView. Я добавил слушателя в textFields, чтобы автоматически запускать фильтрацию при обнаружении изменений. Я использовал код ниже, чтобы сделать это.

textField_filterAddress.textProperty().addListener((observable, oldValue, newValue) -> {
            doSomething(); // in this case, filter table data and refresh tableView afterwards
        });

Теперь у меня вопрос: как проще всего интегрировать некоторую задержку до того, как сработает фильтрация? Я хотел бы подождать несколько миллисекунд, потому что каждый раз, когда пользователь фильтрует, он выполняет новый запрос к базе данных, и я не думаю, что это необходимо для каждого отдельного символа, который вставляет пользователь. Я лучше подожду, пока он / она закончил свой вклад. Есть ли какая-то особенность, подобная этой, уже встроенная в весь процесс слушателя? Или я должен реализовать свое собственное решение? Если да, то как? Я думал о каком-то параллельном решении,поэтому остальная часть программного обеспечения не будет зависать в течение периода ожидания, Но я решил спросить здесь, есть ли более простое решение, прежде чем слишком много думать о моем собственном пути ...

Большое спасибо заранее!

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

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