jtextareaにforループの多くの行を追加します。行を追加すると、テキストに行が表示されませんが、forループが終了するとすべての行が表示されます。各行を1つずつ表示するにはどうすればよいですか?
質問する
85 次
2 に答える
2
Event Dispatching Threadでプロセスを実行しないでください。再描画の更新がブロックされます。
SwingWorker APIを利用する必要があります
また、ご覧ください
何をしているか当ててみよう
while (doSomeWork) {
// do some processing
textArea.append(someText);
}
またはおそらくfor
ループ
そして、UI が魔法のように更新されることをどのように期待していますか?
残念なことに、私はそのように機能することを望んでいますが、そのようには機能しません。
画面を更新するには、イベント ディスパッチ スレッドの実行を継続できるようにする必要があります。これにより、再描画要求 (およびその他の重要な処理) を処理できるようになります。処理を別のスレッドにオフロードする必要があります。
いいえ、他に方法はありません。最も簡単な方法は、SwingWorker を使用することです。
于 2012-08-15T08:02:34.283 に答える
0
よくわかりませんが、for ループでこれを使用します: jTextArea.updateUI();
于 2012-08-15T08:29:30.547 に答える