ホームページ > Java > &#&チュートリアル > バックグラウンドでバッチファイルを実行中に不定の JProgressBar を表示するにはどうすればよいですか?

バックグラウンドでバッチファイルを実行中に不定の JProgressBar を表示するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-04 10:56:11
オリジナル
596 人が閲覧しました

How to Display an Indeterminate JProgressBar While Running a Batch File in the Background?

バッチ ファイルの実行中に不定の JProgressBar を表示する

はじめに

このシナリオでは、要件バッチファイルの実行中に不定の JProgressBar を表示することです。 背景。課題は、通常は 1 つのプロセスに制限されるため、Swing 内で複数のプロセスを同時に実行することにあります。

SwingWorker を使用したソリューション

これに対処するには、専用スレッドで ProcessBuilder を実行する SwingWorker クラス。これにより、JProgressBar を更新し、進行中の処理と同時に出力を表示できます。 process.

ここで提供されるコードには、バックグラウンド タスクを開始および停止するためのボタン アクションを処理するメソッドが含まれています。さらに、ステータス更新を表示するための JLabel と、バッチ ファイルの出力を表示するための JTextArea が組み込まれています。

カスタム SwingWorker クラス (BackgroundTask)

BackgroundTask クラスは次の拡張を行います。 SwingWorker と 3 つのプライマリをオーバーライドしますメソッド:

  1. doInBackground(): このメソッドは、ProcessBuilder を使用してバッチ ファイルを実行し、その出力と終了ステータスをキャプチャします。
  2. process(): JLabel を現在の状態で更新し、出力をJTextArea.
  3. done(): JProgressBar を不定に設定しながら、停止ボタンを無効にし、開始ボタンを再度有効にします。

このアプローチを利用することで、では、バッチ ファイルの実行中に進行状況の表示と出力の表示の両方を実現します。これにより、ユーザーの混乱がなくなり、より良いユーザー エクスペリエンスが提供されます。

以上がバックグラウンドでバッチファイルを実行中に不定の JProgressBar を表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート