2010-05-22 3 views
1

JTextPane으로 일부 테이블을 (Freemarker 템플릿으로 렌더링 한) HTML 코드로 표시하고 있습니다. 이 HTML 출력에는 테이블의 값과 상호 작용하는 데 사용할 수있는 몇 가지 HTML 링크가 있습니다 (예 : "Delete a row"및 이와 유사한 것). 현재 각 변경 사항에서 항상 전체 HTML 출력을 다시 만들고 JTextPane의 전체 문서를 새로운 것으로 바꿉니다. 이것은 정말로 느려지고 있습니다. JTextPane에서는, 스크롤 위치가 항상 변경됩니다.JTextPane에 표시된 HTMLDocument의 내용 변경하기

전체 문서를 바꾸지 않고도 런타임 중에 HTML 코드의 일부만을 변경할 수 있습니까? 실제 브라우저에서는 DOM을 사용하고 document.getElementById ("price"). innerHTML = "$ 123.44"와 같은 작업을 수행합니다. JTextPane의 HTMLDocument를 사용하여 가능한 일이 있습니까?

답변

2

example에 제안 이송 할 수있는 HTMLDocument, 얻기 위해 JTextPanegetDocument()를 호출 할 수 있습니다. 필요에 따라 replace(), setInnerHTML() 또는 setOuterHTML()을 사용할 수 있습니다.