Я не уверен, что понимаю проблему. Разве вы не можете просто использовать
textField.getDocument().insertString(..)
для генерации DocumentEvent?
Кроме того, я хотел бы предложить, чтобы проверка не проводилась в DocumentListener, поскольку для этого уже слишком поздно, поскольку документ уже обновлен. Для проверки данных в том виде, в каком они введены, вы должны использовать DocumentFilter.