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
Lepaskan: 2024-12-17 16:27:10
asal
917 orang telah melayarinya

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);
    }
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan