Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Mengelak Ralat Rawak Semasa Mengemas kini Siri JFreeChart dalam GUI?
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:
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!