Java 按Enter键使用Utilities.getRowStart时出现BadLocationException
我正在使用Java 按Enter键使用Utilities.getRowStart时出现BadLocationException,java,swing,jtextpane,Java,Swing,Jtextpane,我正在使用Utilities.getRowStart查找JTextPane中的行数。但当我按enter键时,它会给出BadLocationException: javax.swing.text.BadLocationException:位置不由表示 看法 有什么想法吗 int offset = pane.getText().length(); while(offset > 0) { try { offset = Utilities.getRowStart(pane,
Utilities.getRowStart
查找JTextPane
中的行数。但当我按enter键时,它会给出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++;
}
只是猜测您正在使用Windows。该代码将为每个换行符返回一个包含“\r\n”的字符串。文档仅使用“\n”,因此偏移量将大于文档的长度。使用:
int offset = pane.getDocument().getLength();
只是猜测您正在使用Windows。该代码将为每个换行符返回一个包含“\r\n”的字符串。文档仅使用“\n”,因此偏移量将大于文档的长度。使用:
int offset = pane.getDocument().getLength();
在你的问题中添加一些代码请找到一些代码实际上你需要发布一个
SSCCE
来演示你的问题。如果你不知道什么是SSCCE
,那么你可以在网上搜索。在你的问题中添加一些代码请查找一些代码实际上你需要发布SSCCE
来演示你的问题。如果你不知道什么是SSCCE
,那么你可以在网上搜索。谢谢Camickr。它现在运行良好,是的,我正在使用Windows。@ USE1815809考虑投票,并接受这个答案hereThanks Camickr。它现在运行良好,是的,我正在使用Windows。@