Vaadin - TextArea/RichTextArea с анализом текста в реальном времени

Я работаю над приложением Vaadin (7) на стороне сервера, и мне нужно использовать TextArea или RichTextArea, которые будут анализировать слово за словом вводимый текст и выделять слова определенного типа, например, даты и раз.

Моя проблема заключается в том, что RichTextArea не имеет TextChangeListener, а обычная TextArea не имеет опции подсветки, потому что она не поддерживает теги HTML... Я пытаюсь использовать ShortcutKeyListener для RichTextArea и анализировать текст после каждой клавиши пробела, но это было слишком медленный и имел также некоторые другие проблемы.

Есть ли что-нибудь еще, что я могу сделать? Есть ли возможность анализировать текст в режиме реального времени при использовании RichTextArea? или есть какое-нибудь дополнение, с которым вы знакомы? Или есть способ выделить текст в TextArea после его анализа?

Спасибо!

1 ответ

Решение

Мое предложение немного странное, но в любом случае посмотрите на Vaadin AceEditor. Он поддерживает текстовый режим и SelectionChangeListener:

ed.addSelectionChangeListener(new SelectionChangeListener() {
    @Override
    public void selectionChanged(SelectionChangeEvent e) {
        int cursor = e.getSelection().getCursorPosition();
        Notification.show("Cursor at: " + cursor);
    }
});

Подробности смотрите здесь: Vaadin AceEditor

Другие вопросы по тегам