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

时间:2013-11-30 21:43:39

标签: java swing jtextpane styleddocument

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

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

if ( iLen > 0 )
    textPane.setCaretPosition(doc.getLength() - 1);

基本上我的问题是很多时候发短信 即将到来,它正在调用这部分代码, 但是在大部分文本出现之前,没有任何东西被绘制出来。

我知道幕后会发生很多事情 而且我没有任何听众或其他任何东西。

所以有任何相当简单的方法可以让它画出来 几乎每次被称为?

或至少比现在更频繁?

2 个答案:

答案 0 :(得分:0)

尝试使用textPane.repaint() 在设定了插入符号的位置之后。

答案 1 :(得分:0)

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