Эта статья разделяет конкретный код динамической линейной диаграммы JFreeChart для вашей ссылки. Конкретный контент заключается в следующем
Нарисуйте раз в секунду и снова нарисуйте через одну минуту
Требуемые пакеты JAR: Gnujaxp.jar, Jcommon-1.0.16.jar, Jfreechart-1.0.13.jar
открытый класс jfreezhexiantest {public static xyseries xycpuseries = new Xyseries ("CPU"); Public Static int сотни = 0; Public Static JfreeChart JFreeChart = null; public jpanel getcpujfreechart () {jfreechart = chartfactory.createxylineChart (null, null, null, createdAtaset1 (), plotoration.vertical, false, true, false); StandardChartTheme mChartTheme = new StandardChartTheme ("cn"); MCHARTTHEME.SetLargeFont (новый шрифт («Bold», Font.Bold, 20)); mChartTheme.SetExtralargeFont (новый шрифт ("Zongyi", font.plain, 15)); mChartTheme.SetRegularFont (новый шрифт ("Zongyi", font.plain, 15)); Chartfactory.setcharttheme (mcharttheme); jfreechart.setborderpaint (новый цвет (0,204,205)); jfreechart.setbordervisible (true); Xyplot xyplot = (xyplot) jfreechart.getplot (); // y-ось numberAxis numberAxis = (numberAxis) xyplot.getrangeaxis (); numberAxis.setLowerBound (0); numberaxis.setupperbound (100); numberAxis.setTickUnit (новый номертикттхёт (100d)); // только целочисленные значения отображаются numberaxis.setstandardtickunits (numberaxis.createintegertickunits ()); // numberAxis.setAutorangeIncludeszero (true); numberAxis.setLowerMargin (0); // под осью данных (слева) number ocradaxis.setminortickmarksvisible (false); // Отображает ли маркировка линии numberAxis.setTickmarkInsidelength (0); // Внутренняя длина внешнего отметки numberAxis.setTickmarkoutsIdelength (0); // Проектирование оси x numberaxis x = (numberaxis) xyplot.getdomainaxis (); x.setautorange (true); // автоматически установить диапазон данных оси данных // Установить значение горизонтальной координаты самим X.SetAutotickUnitseletection (false); x.settickunit (новый номертиктунит (60d)); // Установить максимальное значение отображения и минимальное значение отображения x.setLowerBound (0); X.SetUpperBound (60); // Метка данных оси данных: только отображать целочисленную метку X.SetStandardTickUnits (numberAxis.createIntegertickUnits ()); x.setaxisislinevisible (true); // отображает ли вертикальная линия оси x x.settickmarksvisible (false); // Отображает ли линия маркировки offset offset = new RectangleNshiSsets (0, 0, 0, 0); xyplot.setaxisoffset (смещение); // расстояние между осью и областью данных xyplot.setbackgroundalpha (0,0F); // Удалить фоновый цвет бар -диаграммы xyplot.setOutlinePaint (null); // Удалить границу // chartpanel chartpanel = new Chartpanel (jfreechart); // chartPanel.RestoreAutodomainBounds (); // сбросить x-ось chartPanel ChartPanel = New ChartPanel (JFreeChart, True); вернуть chartPanel; } / ** * Этот метод представляет собой проектирование данных * * @return * / public static xydataset createdataset1 () {xyseriescollection xyseriescollection = new xyseriescollection (); xyseriescollection.addseries (xycpuseries); вернуть XyseriesCollection; } / *** Случайные сгенерированные данные* / public static void dynamicrun () {int i = 0; while (true) {Double Factor = math.random ()*100; Сотни = (int) фактор; jfreechart.settitle («размер процессора:«+hundroud+«%»); jfreechart.getTitle (). SetFont (новый шрифт ("Microsoft Yahei", 0, 16)); // Установить заголовок Font xycpuseries.Add (i, factor); try {thread.currentthread (); Thread.sleep (1000); } catch (прерванное искусство e) {e.printstacktrace (); } i ++; if (i == 60) {i = 0; xycpuseries.delete (0, 59); продолжать; }}} public static void main (string [] args) {jfreezhexiantest jz = new jfreezhexiantest (); Jframe frame = new jframe (); Frame.setize (700, 500); Frame.getContentPane (). Add (jz.getCpujfreechart (), borderlayout.center); Frame.SetVisible (true); Frame.SetLocationRelativeTo (null); // окно расположено в центре экрана. DynamicRun (); }}Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.