JTextPane滚动到特定行

时间:2017-01-10 04:34:27

标签: java swing jtextpane

我正在尝试将JTextPane滚动到特定行。为此,我将我的文本窗格作为JViewport放入JScrollPane。我用以下方法确定该行的x和y坐标:

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之间)

1 个答案:

答案 0 :(得分:2)

查看Text Utilities课程。

您可以使用gotoStartOfLine(...)方法将插入符号放在行的开头。这将导致文本区域在需要时滚动。

或许您可以使用centerLineInScrollPane(...)方法。