0

私のJavaアプリケーションでは、いくつかのjtablesを使用しており、ループ内でjtable.setvalueat(i、j)を使用して各セルを埋めています。

jtable1 がいっぱいになると、Jtable2 をいっぱいにするためのループが途中で開始されます。

すべてがうまく機能しますが、すべての jtables とループが終了し、最終的にすべての jtables が一度にいっぱいになるまで、すべてのセルが空白でアプリケーションがフリーズしているようです。

JOptionPane を使用して、ループが終了するたびにメッセージを表示すると、それらのセルがそのステップまで埋められていることがわかります。

私の質問: セルの値が満たされている間にセルの値を表示し、ループが終了するまで待たないようにする方法やトリックはありますか????

あなたのアドバイスに感謝します。

4

1 に答える 1

1

TableModel次々にいっぱいになるループは、イベント ディスパッチ スレッドをブロックします。介入JOptionPaneにより、EDT は待機中の更新を処理できます。中間結果SwingWorkerの一般的な方法です。publish()例はAPIConcurrency in Swingに見られます。

于 2013-06-27T01:13:01.940 に答える