我在 for 循环中附加了我的 jtextarea 多行。当我添加行时,我在文本上看不到任何行,但是当 for 循环完成时,所有行都显示出来了。我怎样才能一一看到每一行?
问问题
85 次
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 回答