検索
ホームページJava&#&チュートリアルJFreeChart シリーズをバックグラウンド スレッドから安全に更新するにはどうすればよいですか?

How to Safely Update JFreeChart Series from a Background Thread?

JFreeChart でシリーズを変更中に予期しないエラーが発生しました

問題:
JFreeChart を動的に更新しようとしましたプロットでは、ユーザーが「シリーズ インデックスが範囲外」および「インデックスが範囲外」に遭遇しました。バックグラウンド スレッド内でデータセットを変更しようとすると例外が発生します。

根本原因:
問題は、データセットがスレッドではないバックグラウンド スレッドから直接変更されていたことです。 -safe 操作。

解決策:
スレッドセーフな更新を保証するには、ユーザーはスイングワーカー。このクラスは、イベント ディスパッチ スレッド (EDT) で呼び出される process() メソッドでデータセットを更新することにより、バックグラウンド スレッドから GUI を更新する安全な方法を提供します。

代替ソリューション:
X 軸が時間ではなく反復回数を表す場合は、DateAxis の代わりに NumberAxis を使用する必要があります。この変更により、固定時間間隔ではなく、計算の完了時にプロットを更新できるようになります。

コードの実装例:

private XYSeries series = new XYSeries("Result");
...
@Override
protected void process(List<double> chunks) {
    for (double d : chunks) {
        label.setText(df.format(d));
        series.add(++n, d);
    }
}</double>

このコードでは、 process() メソッドは、新しいデータが利用可能になったときに EDT 上の XYSeries データセットを安全に更新するために使用されます。 XYLineAndShapeRenderer は、最初のシリーズの形状をレンダリングするように設定されており、プロット上に点が表示されます。

以上がJFreeChart シリーズをバックグラウンド スレッドから安全に更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン