2011-01-07 10 views
1

Ich habe eine JeditorPane in einem JScrollPane. An bestimmten Punkten in der Anwendung möchte ich den Text abrufen, der im scrollPane (der aktuell angezeigte Text) und nur dieser Text sichtbar ist. Gibt es eine Möglichkeit, dies zu tun?Erhalten des sichtbaren Textes in einem JEditorPane

Danke,

Elliott

Antwort

6

Sie das Ansichtsfenster können Sie die Ansicht Position und Größe erhalten.

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

Sobald Sie die Start-/Endpunkte des Ansichtsfenster kennen, können Sie verwenden:

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

Sobald Sie die Versätze des Textes wissen Sie möchten, können Sie den Text von der Komponente erhalten:

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

Keiner der Code wird getestet.

+0

Ich kann Ihnen nicht sagen, wie lange ich versucht habe, dies herauszufinden !. Das ist brilliant. Vielen Dank! – Elliott

Verwandte Themen