我在JScrollPane中有一个JeditorPane。在应用程序的某些点,我想检索scrollPane(当前显示的文本)中可见的文本,并且只检索此文本。有没有办法做到这一点?
谢谢,
埃利奥特
答案 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);
没有任何代码经过测试。