Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Mengelak Ralat Rawak Semasa Mengemas kini Siri JFreeChart dalam GUI?

Bagaimanakah Saya Boleh Mengelak Ralat Rawak Semasa Mengemas kini Siri JFreeChart dalam GUI?

DDD
DDDasal
2024-12-17 16:27:10893semak imbas

How Can I Avoid Random Errors When Updating JFreeChart Series in a GUI?

Ralat Rawak Semasa Menukar Siri Menggunakan JFreeChart

Apabila membangunkan GUI yang memaparkan hasil pengiraan latar belakang, tugas biasa adalah untuk mengemas kini data graf apabila maklumat baharu menjadi tersedia. Menggunakan JFreeChart, ini boleh dicapai dengan mengubah suai set data asas. Walau bagaimanapun, jika set data ditukar terlalu kerap atau dalam cara yang tidak disegerakkan, ralat mungkin timbul, seperti pengecualian "Indeks siri di luar sempadan" atau "indeks di luar sempadan".

Untuk menyelesaikan isu ini, ia perlu disyorkan untuk mengemas kini set data daripada kaedah process() SwingWorker, yang memastikan keselamatan benang. Selain itu, jika domain graf mewakili bilangan lelaran dan bukannya masa, adalah sesuai untuk menggunakan NumberAxis dan bukannya DateAxis.

Contoh:

The kod berikut menunjukkan cara mengemas kini carta garis dalam masa nyata menggunakan SwingWorker:

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);
    }
}

Ini coretan kod menggunakan XYSeries untuk menyimpan titik data dan mengemas kini siri dalam kaedah proses() SwingWorker. Label juga dikemas kini untuk memaparkan nilai semasa.

Pertimbangan Tambahan:

  • Gunakan NumberAxis untuk kedua-dua domain dan julat apabila domain mewakili bilangan lelaran bukannya masa.
  • Pastikan set data dikemas kini daripada kaedah selamat benang, seperti kaedah proses() seorang SwingWorker.
  • Elakkan membuat kemas kini yang kerap pada set data, kerana ini boleh menyebabkan masalah prestasi.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengelak Ralat Rawak Semasa Mengemas kini Siri JFreeChart dalam GUI?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn