جافا و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 في المجموعة، على قيمة y للعنصر الثالث.هل هذا ممكن؟

هل كانت مفيدة؟

المحلول

ال Dataset عاد بواسطة getDataset() ربما لا يكون مفيدًا في هذا السياق.بدلا من ذلك، انظر إلى مصدر أ SeriesChangeEvent.ربما سيتعين عليك تجاوز واحد أو أكثر من add() الأساليب في فئة فرعية من XYSeries لتتبع تفاصيل التغيير.

نصائح أخرى

لقد قمت بحل المشكلة جزئيًا باستخدام SeriesChangeListener وإضافة سلسلة وصف إلى كل سلسلة، ولكن ما زلت بحاجة إلى فحص جميع القيم داخل السلسلة.إنه حل أفضل من استخدام DatasetChangeListener (لست بحاجة إلى فحص جميع قيم جميع السلاسل في مجموعة البيانات) ولكنه ليس مثاليًا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top