可能重复:
How I append text to textarea with using swingworker class?
我将jtextarea中的许多行追加到for循环中。当我添加行时,我没有在文本上看到任何行,但是当for循环完成所有这些都显示出来时。如何逐一查看每一行?
答案 0 :(得分:2)
不要在Event Dispatching Thread中执行您的流程,它会阻止重绘更新的发生。
您应该使用SwingWorker API
另外,看看
让我猜猜你在做什么
while (doSomeWork) {
// do some processing
textArea.append(someText);
}
或者可能是for
循环
而且,您是否有些人期望UI能够神奇地更新?
尽管我不喜欢这样工作,但它不会那样工作。
为了更新屏幕,你必须允许Event Dispatching Thread继续运行,因此它可以处理重绘请求(以及一堆其他重要的事情),你需要将处理卸载到另一个线程
不,没有任何其他办法,&最简单的方法是使用SwingWorker
答案 1 :(得分:0)
我不确定但是在for循环中使用它: jTextArea.updateUI();