1

JScrollPane に JeditorPane があります。アプリケーションの特定の時点で、scrollPane に表示されているテキスト (現在表示されているテキスト) とこのテキストのみを取得したいと考えています。これを行う方法はありますか?

ありがとうございました、

エリオット

4

1 に答える 1

7

ビューポートを使用して、ビューの位置とサイズを取得できます。

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);

どのコードもテストされていません。

于 2011-01-07T18:24:16.963 に答える