我正在使用 Utilities.getRowStart
来查找 JTextPane
中的行数。但当我按下回车键时,它给出了 BadLocationException
:
javax.swing.text.BadLocationException: Position not represented by view
有什么想法吗?
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++;
}
最佳答案
int offset = pane.getText().length();
猜测您正在 Windows 上工作。该代码将为每个换行符返回一个包含“\r\n”的字符串。该文档仅使用“\n”,因此您的偏移量将大于文档的长度。使用:
int offset = pane.getDocument().getLength();
关于java - 当按下 Enter 键时使用 Utilities.getRowStart 时出现 BadLocationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15719770/