JScrollPane に JeditorPane があります。アプリケーションの特定の時点で、scrollPane に表示されているテキスト (現在表示されているテキスト) とこのテキストのみを取得したいと考えています。これを行う方法はありますか?
ありがとうございました、
エリオット
JScrollPane に JeditorPane があります。アプリケーションの特定の時点で、scrollPane に表示されているテキスト (現在表示されているテキスト) とこのテキストのみを取得したいと考えています。これを行う方法はありますか?
ありがとうございました、
エリオット
ビューポートを使用して、ビューの位置とサイズを取得できます。
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);
どのコードもテストされていません。