Baru-baru ini, saya ingin menggunakan grafik kurva real-time. Saya telah menemukannya online. Ada dua cara untuk mengimplementasikannya. Salah satunya adalah contoh resmi dari JFREECHART Memoryusagedemo.java. Melalui kelas internal yang mengimplementasikan java.swing.timer, data real-time ditambahkan ke timeseries di pendengarnya. Karena timer akan dieksekusi secara real-time, tidak ada masalah dengan metode ini. Anda dapat merujuk pada kode.
Cara lain adalah mengimplementasikan antarmuka runnable dari kelas real-time. Dalam metode run (), data real-time ditambahkan ke timeseries melalui loop tak terbatas. Berikut ini adalah kode implementasi yang lebih sederhana:
//Realtimechart.java impor org.jfree.chart.chartfactory; impor org.jfree.chart.chartpanel; impor org.jfree.chart.jfreechart; impor org.jfree.chart.axis.valueaxis; impor org.jfree.chart.plot.xyplot; impor org.jfree.data.time.millisecond; impor org.jfree.data.time.timeseries; impor org.jfree.data.time.timeseriesCollection; Public Class Realtimechart memperluas chartpanel mengimplementasikan runnable {private static timeseries timeseries; nilai panjang pribadi = 0; realtimechart publik (string chartContent, judul string, string yaxisname) {super (createChart (chartContent, judul, yaxisname)); } private static JFReChart CreateChart (String ChartContent, Judul String, String YaxisName) {// Buat time -time objek timeSeries = new Timeseries (ChartContent, Millisecond.class); TimeseriesCollection TimeseriesCollection = New TimeseriesCollection (Timeseries); JFREECHART JFREECHART = ChartFactory.CreateTimeseriesChart (judul, "TimeseriesCollection (detik), YAXISNAME, TimeseriesCollection, True, True, False); xyplot xyplot = JFreechart.getXyplot (); // Onorthogonal koordinat (JFREECHART.getXyplot (); // Onorthogonal Pengaturan koordinat (JFREECHART.getXyPlot (); // Onorthogonal koordinat (ortogonal koordinat. // Onormal Pengaturan Rentang ValueAxis.SetAutorange (true); //valuaxis.setrange(0.0d.200d); System.Out.Println (Math.Random ()*20+80)); { / ** * @param args * / public static void main (string [] args) {jFrame frame = jFrame baru ("test chart"); frame.setVisible (true);Ada masalah dengan kedua metode, yaitu, setiap kali grafik diimplementasikan, itu harus ditulis ulang, karena data real-time tidak dapat ditransmisikan melalui parameter. Saya bertanya-tanya apakah mungkin untuk lulus data waktu-nyata melalui metode setxxx (), sehingga kelas menggambar kurva real-time dapat dienkapsulasi, dan lulus saja beberapa parameter, atau siapa yang memiliki cara yang lebih baik?
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.