Как принудительно изменить значение в компоненте 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.