2011-01-07 7 views
1

JScrollPane에 JeditorPane이 있습니다. 응용 프로그램의 특정 지점에서 scrollPane (현재 표시된 텍스트)과이 텍스트에만 표시되는 텍스트를 검색하려고합니다. 이것을 할 수있는 방법이 있습니까? JEditorPane에서 보이는 텍스트 얻기

당신은보기의 위치와 크기를 얻을 수있는 뷰포트를 사용할 수

엘리엇

답변

6

을 주셔서 감사합니다. 뷰포트의 시작/끝 지점을 알게되면

JViewport viewport = scrollPane.getViewport(); 
Point startPoint = viewport.getViewPosition(); 
Dimension size = viewport.getExtentSize(); 
Point endPoint = new Point(startPoint.x + size.width, startPoint.y + size.height); 

당신은 사용할 수 있습니다

int start = editorPane.viewToModel(startPoint); 
int end = editorPane.viewToModel(endPoint); 

당신은 당신이 구성 요소의 텍스트를 얻을 수 있습니다 할 텍스트의 오프셋을 알고 있으면 :

String text = editorPane.getText(start, end - start); 

코드를 테스트 한 적이 없습니다.

+0

나는 이것을 알아 내려고 얼마나 오랫동안 말할 수는 없다.! 이것은 훌륭합니다. 고맙습니다! – Elliott

관련 문제