JScrollPane 내부에 사용자 정의 html 문서 (URL이 아닌)와 JTextField가있는 JEditorPane이 있으므로 편집기 창에서 강조 표시 할 텍스트를 사용자가 입력 할 수 있습니다. 다음 배경을 강조JEditorPane에서 Java scrollToReference 예외가 발생합니다.
<a name='spot'><span style='background-color: silver'>my text</span></a>
JEditorPane의에 새 텍스트를 설정 : 텍스트 필드의의 keyPressed 이벤트에서, 나는 그것이로 둘러싸고, 텍스트에 대한 문서를 검색 할 수 있습니다. 이 모든 것은 정상적으로 작동하지만 새로 강조 표시된 텍스트로 창을 스크롤하려고합니다. 편집기 창의의 DocumentListener의 해, ChangedUpdate 방법에 그래서, 나는 추가 :
pane.scrollToReference("spot");
이 호출은 BoxView.modelToView 내부는, ArrayIndexOutOfBoundsException가 발생합니다. 이 메소드는 텍스트에서 내 "스팟"참조를 찾습니다. 그러나 뷰가 아직 새 텍스트로 업데이트되지 않았다고 생각합니다. 따라서 스크롤 할 때 실패합니다.
뷰에 대한 참조를 가져올 수 없으며 수신 대기 이벤트를 찾을 수 없어서 JEditorPane의 뷰가 완전히 업데이트되었음을 나타냅니다. 어떤 아이디어?
감사합니다,
자레드
을 보여 주위의 모든 예는 HTMLEditorKit의 유형에서, 귀하의 질문을 [SSCCE] (http : // ssc ce.org/)에 의해'ArrayIndexOutOfBoundsException'이 발생했습니다 – mKorbel
HtmlEditorKit을 변경하지 않았으므로 JEditorPane의 기본값이 무엇이든간에. SSCCE가없는 – Jared
고객님의 문제를 발견 할 수 없으므로 미안하지만 배터리가 포함되어 있지 않을 수도 있습니다. – mKorbel