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 回答