Как принудительно изменить значение в компоненте Vaadin RichTextArea

Я разработал пользовательский компонент, состоящий из макета и двух меток внутри него. Этот макет перетаскивается. Код похож на это:

DragAndDropWrapper boxWrap= new DragAndDropWrapper(layout);
mainLayout.addComponent(boxWrap);

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

RichTextArea richText= new RichTextArea;
DragAndDropWrapper dndWrapper = new DragAndDropWrapper(richText);
dndWrapper.setDropHandler(new DropHandler()  {
        public void drop(DragAndDropEvent event)  {
            //Do whatever you want when something is dropped                
        }
        //Criterio de aceptacion
        public AcceptCriterion getAcceptCriterion() {   
            return AcceptAll.get();
        }
    });

Код работает нормально. Но когда я удаляю макет в RichTextArea, я хочу получить текст, написанный в этой области, и добавить некоторый текст, но метод richText.getValue() не обновляется, пока я не переключу фокус на другой компонент или вкладку. Я предполагаю, что нет связи со стороной сервера, поэтому значение не обновляется. Есть ли способ заставить изменить фокус при наведении на макет? Я пытался с JavaScript, но я не знаю, как добавить атрибут onmousedown="function()" для компонента макета. Я также попытался расширить RichTextArea и реализовать MouseListener или что-то или TextChangeListener, но ничего не работает.

Любая подсказка? Спасибо.

PS: компонент не может отличаться от RichTextArea.

1 ответ

Вы установили richText.setImmediate(true);?

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