获取JEditorPane中的可见文本

时间:2011-01-07 17:58:13

标签: java swing jeditorpane

我在JScrollPane中有一个JeditorPane。在应用程序的某些点,我想检索scrollPane(当前显示的文本)中可见的文本,并且只检索此文本。有没有办法做到这一点?

谢谢,

埃利奥特

1 个答案:

答案 0 :(得分: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);

没有任何代码经过测试。