2010-05-13 3 views
1

HTML을 사용하여 텍스트를 표시하는 자바 JEditorPane에 텍스트를 표시하고 있습니다. 또한 JEditorPane에서 텍스트를 찾은 다음 텍스트를 선택하고 스크롤하는 검색 기능을 설계하고 있습니다. 내 문제는 실제로 선택의 시작 및 끝 위치를 지정합니다 algorithim 만드는 것입니다.HTML 포맷 된 JEditorPane에서 지정된 텍스트 선택

myeditorpane.getText()를 사용하여 텍스트를 간단히 검색 한 다음 결과에서 검색 문자열을 찾으면 틀린 텍스트를 선택하여 잘못된 선택 시작 및 끝 위치가 계산됩니다 (태그가 계산을 시작 함) . 모든 텍스트를 검색하기 전에 replace all ("\ <. *?>", "")을 사용하여 html 태그를 제거해 보았습니다. (이 태그를 바꾸면 모두 태그 사이의 모든 텍스트가 제거되지만 여전히 잘못된 셀렉션 포인트가 계산됩니다 (비록 가까워지고 있지만 :-)).

누구나 쉽게 할 수 있습니까? 이 HighlightExample에 제안

감사합니다,

엘리엇

답변

2

당신은 아마, 오히려 원시 텍스트보다 기본 Document와 함께 일하고자합니다.

+0

이것은 내가 필요한 모든 것을주었습니다. 감사. – Elliott

1

텍스트의 시작 위치를 찾아야합니다. 그런 다음 당신이 사용할 수있는 스크롤

int offset = editorPane().getDocument().getText().indexof(...); 

: 내가 좋아하는 뭔가를 생각

editorPane.scrollRectToVisible(editorPane.viewToModel(offset)); 

대한 추가 정보를 원하시면 Text and New Lines 읽기 최대.

관련 문제