0

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

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

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

基本上我的问题是,很多时候文本都在通过,它正在调用这部分代码,但是在大部分文本通过之前什么都没有绘制。

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

那么有什么相当简单的方法可以让它几乎每次被调用时都可以绘制?

或者至少比现在更频繁?

4

2 回答 2

0

Try to wrap it in SwingUtilities.invokeAndWait() to let EDT execute the insert related changes processing.

于 2013-12-10T09:43:30.177 回答
0

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

于 2013-11-30T21:46:52.783 回答