我在 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);
没有任何代码经过测试。