大規模で複雑な図を表示する JPanel をカスタマイズしました。データのサイズによっては、paintComponent() でのレンダリングに数分かかる場合があります。次の戦略を探しています。
- イベントディスパッチスレッドを拘束せずにコンポーネントを描画します。
- JPanel で何かを描画して、画像がレンダリングされていることをユーザーに知らせます。
- 別のコンテナのラベルを定期的に更新して進行状況を表示する
私はこれについて少し調査しましたが、SwingWorker を使用してバックグラウンド スレッドを作成し、BufferedImage に描画することが正しい戦略であるかどうか疑問に思っています。タイマーは、ステータスの更新を処理します。クラスメンバー変数はステータスを保持します。
私は正しい軌道に乗っていますか?