JTextPane - 未由视图表示的位置

时间:2014-05-13 16:51:05

标签: java swing jtextpane

请告诉我这段代码有什么问题

            int docLength = textArea.getDocument().getLength();
            int lineCount = (docLength == 0) ? 1 : 0;

            try {
                int offset = docLength;
                while (offset > 0) {
                    offset = Utilities.getRowStart(textArea, offset) - 1;
                    lineCount++;
                    num += lineCount;
                }
                System.out.println(lineCount);
            } catch (BadLocationException e) {
                e.printStackTrace();
            }

我收到此错误:

  

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

错误出现在以下代码行中:

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

2 个答案:

答案 0 :(得分:0)

您添加了一个标记,说明此问题与JTextPane有关,但您将变量称为textArea。始终如一。如果它对简单的不一致非常困惑。答案可能会有所不同,具体取决于您实际使用的是JTextPane还是JTextArea。

我不知道你为什么会收到错误,因为你没有发布证明问题的正确SSCCE

如果您尝试确定文本窗格中的文本行数,则可以使用Text Utilities中的getLines()方法。

答案 1 :(得分:0)

如果您有例如,可能会发生这种情况HTMLDocument,文档包含<head>部分。该部分在模型中具有表示,因此文档中存在Element和适当的偏移量,但<head> Element没有View(可见的重复),因此无法找到元素偏移的可见行开始