-1

可能重复:
如何使用 swingworker 类将文本附加到 textarea?

我在 for 循环中附加了我的 jtextarea 多行。当我添加行时,我在文本上看不到任何行,但是当 for 循环完成时,所有行都显示出来了。我怎样才能一一看到每一行?

4

2 回答 2

2

不要在Event Dispatching Thread中执行你的进程,它会阻止重绘更新的发生。

您应该使用SwingWorker API

另外,看看

让我猜猜你在做什么

while (doSomeWork) {
   // do some processing
   textArea.append(someText);
}

或者可能是一个for循环

而你,有些期待 UI 神奇地更新?

Unfourtly,尽管我很喜欢它那样工作,但它不是那样工作的。

为了更新屏幕,您必须允许事件调度线程继续运行,以便它可以处理重绘请求(以及一堆其他重要的事情),您需要将处理负载转移到另一个线程。

不,没有其他方法,最简单的方法是使用 SwingWorker

于 2012-08-15T08:02:34.283 回答
0

我不确定,但在你的 for 循环中使用它: jTextArea.updateUI();

于 2012-08-15T08:29:30.547 回答