2017-01-10 151 views
0

我想滚动JTextPane到特定行。为此,我将我的文本窗格作为JViewport放入JScrollPane。我确定行的x和y坐标:JTextPane滚动到特定行

JViewport port = (JViewport)getParent(); 
JScrollPane pane = (JScrollPane)port.getParent(); 
float calculated = (float)i/(float)lines.size() * 100; 
pane.getVerticalScrollBar().setMaximum(100); 
pane.getVerticalScrollBar().setValue((int)calculated); 

使用此代码块,我可以滚动滚动条,但我无法滚动文本区域的上下文。只有滚动条移动,但显示文字看起来与以前一样。我需要显示计算的线(顺便说一下,计算的变量在0-100之间)

回答

2

检查出Text Utilities类。

您可以使用gotoStartOfLine(...)方法将插入符定位在一行的开头。如果需要,这将导致文本区域滚动。

或者,也许你可以使用centerLineInScrollPane(...)方法。

+0

这不起作用,因为我的文档文本是html –