最近、リアルタイムカーブチャートを使用したいと思います。私はそれをオンラインで見つけました。実装するには2つの方法があります。 1つは、jfreechart memoryusagedemo.javaの公式インスタンスです。 java.swing.timerを実装する内部クラスを通じて、リアルタイムデータがリスナーのタイムリーに追加されます。タイマーはリアルタイムで実行されるため、この方法に問題はありません。コードを参照できます。
別の方法は、リアルタイムクラスの実行可能なインターフェイスを実装することです。 run()メソッドでは、リアルタイムデータが無限ループを介してタイムリーに追加されます。以下は、より簡単な実装コードです。
//REALTIMECHART.JAVAインポートorg.jfree.chart.chartfactory; Import org.jfree.chart.chartpanel; Import org.jfree.chart.jfreechart; Import org.jfree.chart.axis.valueaxis; Import org.jfree.chart.plot.xyplot; Import org.jfree.data.time.millisecond; Import org.jfree.data.time.timeeries; Import org.jfree.data.time.timeseriesCollection; Public Class RealtimeChartは、runnable {private static Timeseries Timeseries;プライベートロングバリュー= 0; public realtimechart(string chartcontent、string title、string yaxisname){super(createchart(chartcontent、title、yaxisname)); } private static jfreechart createchart(string chartcontent、string title、string yaxisname){//時系列Object Timeseries = new Timeseries(chartcontent、millisecond.class); TimesRiesCollection TimesRiesCollection = new TimeseriesCollection(Timeseries); jfreechart jfreechart = chartfactory.createtimeserieschart(title、 "timeseriescollection(秒)、yaxisname、timeseriescollection、true、true、false); xyplot xyplot = jfreechart.getxyplot(); //データの範囲(true) jfreechart;} public void {true){timeseries.add()、swree.sleep(300)} (long)()*20+80)。 args){新しいJFrame( "Test Chart");「ランダムデータ」、「数値」)。 frame.addwindowlistener(新しいwindowadapter(){public void windowclosing(windowevent event){system.exit(0);}}}};両方の方法に問題があります。つまり、グラフが実装されるたびに、リアルタイムデータをパラメーターで送信できないため、書き換える必要があります。リアルタイムの曲線描画クラスをカプセル化し、パラメーターをいくつか渡すことができるように、Setxxx()メソッドを介してリアルタイムデータを渡すことができるのだろうか、または誰がより良い方法を持っているのだろうか?
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。