0

Utilities.getRowStart用来找出JTextPane. 但是BadLocationException当我按下回车键时,它给出了:

javax.swing.text.BadLocationException:视图未表示位置

任何想法?

int offset = pane.getText().length();

while(offset > 0) {

    try {

    offset = Utilities.getRowStart(pane, offset) - 1;

        } catch (BadLocationException e1) {
      // TODO Auto-generated catch block
      e1.printStackTrace();

    }
    lineCount++;
}
4

1 回答 1

6
int offset = pane.getText().length();

只是猜测您正在使用 Windows。该代码将为每个换行符返回一个包含“\r\n”的字符串。文档仅使用“\n”,因此您的偏移量将大于文档的长度。利用:

int offset = pane.getDocument().getLength();
于 2013-03-30T15:29:23.183 回答