获取JEditorPane中的可见文本

Ell*_*ott 1 java swing jeditorpane

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

谢谢,

埃利奥特

cam*_*ckr 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);
Run Code Online (Sandbox Code Playgroud)

一旦知道视口的起点/终点,就可以使用:

int start = editorPane.viewToModel( startPoint );
int end = editorPane.viewToModel( endPoint );
Run Code Online (Sandbox Code Playgroud)

一旦知道了所需文本的偏移量,就可以从组件中获取文本:

String text = editorPane.getText(start, end - start);
Run Code Online (Sandbox Code Playgroud)

没有任何代码被测试.