레이아웃과 두 개의 레이블로 구성된 사용자 지정 구성 요소를 개발했습니다. 이 레이아웃은 드래그 가능합니다. 코드는 다음과 유사합니다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() 메서드가 업데이트되지 않습니다. 나는 값이 업데이 트되지 않도록 서버 측과 통신되지 않는 것 같아요. 레이아웃에서 mousedown 할 때 포커스 변경을 강제로 수행 할 수있는 방법이 있습니까? JavaScript로 시도했지만 레이아웃 구성 요소에 onmousedown = "function()"특성을 추가하는 방법을 모른다. 또한 RichTextArea를 확장하고 MouseListener 또는 무언가 또는 TextChangeListener를 구현하려고 시도했지만 아무 것도 작동하지 않습니다.
단서가 있습니까? 고맙습니다.
추 신 : 구성 요소는 RichTextArea와 다를 수 없습니다.
네, 저도 그렇게했습니다. – NoLLL