Java 如何让StyledDocument.insertString()更好地更新

Java 如何让StyledDocument.insertString()更好地更新,java,swing,jtextpane,styleddocument,Java,Swing,Jtextpane,Styleddocument,我有一个从InputStream获取文本数据的后台线程 并尝试将其插入JTextPane: iLen = doc.getLength(); doc.insertString(iLen, lineS, normalStyle); if ( iLen > 0 ) textPane.setCaretPosition(doc.getLength() - 1); 基本上我的问题是很多时候 正在通过,它调用这段代码, 但是,在完成一大段文字之前,什么都不会画出来 我知道幕后发生了很多事情

我有一个从InputStream获取文本数据的后台线程 并尝试将其插入JTextPane:

iLen = doc.getLength();
doc.insertString(iLen, lineS, normalStyle);

if ( iLen > 0 )
    textPane.setCaretPosition(doc.getLength() - 1);
基本上我的问题是很多时候 正在通过,它调用这段代码, 但是,在完成一大段文字之前,什么都不会画出来

我知道幕后发生了很多事情 我没有任何听众或任何东西

有什么简单的方法可以让它画出来吗 几乎每次都是这样


或者至少比现在更频繁?

尝试使用
textPane.repaint()

设置插入符号的位置后。

尝试将其包装在
SwingUtilities.invokeAndWait()
中,让EDT执行与插入相关的更改处理。

我尝试添加它,结果似乎不一致。有时我看到有十几条小线穿过它,但它什么也没画,它在最后画了所有的线,其他时候,它几乎画了每一条线,但如果我把它注释掉,我得到的结果几乎是一样的。是否有任何方法可以使用元素或任何东西来影响它绘制文本的频率?