我正在使用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++;
}
答案 0 :(得分:6)
int offset = pane.getText().length();
只是猜测你正在使用Windows。该代码将为每个换行符返回一个包含“\ r \ n”的字符串。文档仅使用“\ n”,因此您的偏移量将大于文档的长度。使用:
int offset = pane.getDocument().getLength();