2011-01-07 46 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 2011-01-07 18:36:03