Java と JFreechart:DatasetChangeEvent から変更されたエントリのみを取得します

StackOverflow https://stackoverflow.com/questions/7333600

  •  27-10-2019
  •  | 
  •  

質問

私はを使用しています DatasetChangeListener 一部の変更を監視するため XYSeriesCollection あるシリーズの変更は、アプリケーションのグラフの他のシリーズに反映する必要があるためです。

public void datasetChanged(DatasetChangeEvent arg0) {
     XYSeriesCollection d = (XYSeriesCollection)arg0.getDataset();
     System.out.println(d.getGroup().getID());
}

使っています DatasetGroup データセットを一意に識別する文字列を保存します。

ここで重要なのは、変更が発生したデータセットの 1 つのエントリだけを知りたいということです。そうでない場合は、すべてのデータセットを反復処理してすべてのデータを検査する必要があります。それを行う方法はありますか?

たとえば、コレクション内のシリーズ 1 の 3 番目の要素の y 値に変更が発生したことを知りたいと考えています。それは可能ですか?

役に立ちましたか?

解決

Dataset によって返されました getDataset() おそらくこの文脈では役に立たないでしょう。代わりに、ソースを見てください。 SeriesChangeEvent. 。おそらく、1 つまたは複数の add() のサブクラス内のメソッド XYSeries 変更の詳細を追跡します。

他のヒント

SeriesChangeListenerを使用して、各シリーズに説明文字列を追加することで部分的に解決しましたが、それでもシリーズ内のすべての値を検査する必要があります。 DatasetChangeListenerを使用するよりも優れたソリューションです(データセット内のすべての系列のすべての値を検査する必要はありません)が、完全ではありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top