Java et jfreechart: obtenez seulement entrée modifiée à partir d'un DatasetChangeEvent

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

  •  27-10-2019
  •  | 
  •  

Question

J'utilise un DatasetChangeListener pour surveiller la modification de certains XYSeriesCollection parce qu'un changement d'une série doit se refléter à d'autres séries des tableaux de mon application.

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

J'utilise DatasetGroup pour stocker une chaîne qui identifie de façon unique l'ensemble de données.

Maintenant, le point est, je voudrais savoir que l'entrée unique de l'ensemble de données sur lequel l'a changé eu lieu, sinon je suis obligé de itérer à travers tout le jeu de données et toutes les données inspecter. Est-il possible de le faire?

Par exemple, je voudrais savoir qu'un changé pour la série est survenue 1 dans la collection, la valeur y du troisième élément. Est-ce possible?

Était-ce utile?

La solution

Le Dataset retourné par SeriesChangeEvent . Vous aurez probablement à remplacer une ou plusieurs des méthodes de add() dans une sous-classe de XYSeries pour suivre les détails du changement.

Autres conseils

Je partiellement résolu en utilisant SeriesChangeListener et en ajoutant une chaîne de description à chaque série, mais je dois encore vérifier toutes les valeurs à l'intérieur de la série. Il est une meilleure solution que d'utiliser un DatasetChangeListener (je ne ai pas besoin d'inspecter toutes les valeurs de toutes les séries dans l'ensemble de données), mais il est pas parfait.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top