Este artículo comparte el código específico de la tabla de línea dinámica JFREECHART para su referencia. El contenido específico es el siguiente
Dibuja una vez cada segundo y dibuje nuevamente después de un minuto
Los paquetes JAR requeridos son: gnujaxp.jar, jcommon-1.0.16.jar, jfreechart-1.0.13.Jar
clase pública jfreezHexiantest {public static xyseries xycpuseries = new xySeries ("CPU"); Pública estática int cientos = 0; Public static jfreechart jfreechart = null; public jpanel getcpujfreeChart () {jfreeChart = chartfactory.createxylinechart (null, null, null, creatatAset1 (), platorientation.vertical, false, true, false); StandardChartTheme Mcharttheme = new StandardChartTheme ("CN"); mcharttheme.setLarGeFont (nueva fuente ("Bold", Font.Bold, 20)); mcharttheme.setExtralargefont (nueva fuente ("Zongyi", font.plain, 15)); mcharttheme.setregularfont (nueva fuente ("zongyi", font.plain, 15)); ChartFactory.Setcharttheme (Mcharttheme); jfreechart.setBorderPaint (nuevo color (0,204,205)); jfreechart.setBorderVisible (verdadero); Xyplot xyPlot = (xyPlot) jfreechart.getPlot (); // Y-EXIS NumberAxis NumberAxis = (NumberAxis) xyplot.getRanGeAxis (); numberAxis.setLowerBound (0); numberAxis.SetUpperBound (100); numberAxis.settickUnit (nuevo NumberTickUnit (100D)); // Solo los valores enteros se muestran numberAxis.setStandardTickUnits (NumberAxis.CreateInTegertickUnits ()); // numberaxis.setAutorangeInCludesZero (verdadero); numberAxis.setLowerMargin (0); // debajo del eje de datos (izquierda) Número de margen. // si la línea de marcado muestra numentalaxis.settickmarkinsidelength (0); // longitud interna de la marca de tick exterior numérica. // Diseño del eje x numentalaxis x = (numberAxis) xyplot.getdomaineAxis (); X.SetAutorange (verdadero); // Establezca automáticamente el rango de datos del eje de datos // Establezca el valor de la coordenada horizontal por usted mismo X.SetAutOtTickUnitSelection (falso); X.SettickUnit (nuevo NumberTickUnit (60D)); // Establecer el valor de visualización máximo y el valor mínimo de visualización X.SetLowerBound (0); X.SetUpperBound (60); // Etiqueta de datos del eje de datos: solo visite la etiqueta entero X.setStandardTickUnits (NumberAxis.CreateInTegertickUnits ()); X.SetAxisLineVisible (verdadero); // si la línea vertical del eje X muestra X.SettickmarkSVisible (falso); // si la línea de marcado muestra rectangleInsets offset = new rectangleInsets (0, 0, 0, 0); xyplot.setAxisOffSet (offset); // El espacio entre el eje y el área de datos xyplot.setbackgroundalpha (0.0f); // Retire el color de fondo del gráfico de barra xyplot.setOutLinePaint (nulo); // eliminar el borde/ chartpanel ChartPanel = new ChartPanel (jfreechrotar); // ChartPanel.RestoreAutodomainBounds (); // Restablecer el eje x-eje ChartPanel ChartPanel = new ChartPanel (jfreeChart, true); Return ChartPanel; } / ** * Este método es el diseño de datos * * @return * / public static xydataSet createAtAset1 () {xyseriesCollection xySeriesCollection = new xySeriesCollection (); xyseriescollection.addseries (xycpuseries); devolver xyseriescollection; } / *** datos generados aleatorios* / public static void dynamicRun () {int i = 0; while (true) {doble factor = math.random ()*100; cientos = (int) factor; jfreechart.settitle ("El tamaño de la CPU es:"+Hundroud+"%"); jfreechart.gettitle (). setFont (new Font ("Microsoft Yahei", 0, 16)); // Establezca el título Font xycpuseries.add (i, factor); intente {Thread.CurrentThread (); Thread.sleep (1000); } catch (InterruptedException e) {E.PrintStackTrace (); } i ++; if (i == 60) {i = 0; xycpuseries.delete (0, 59); continuar; }}} public static void main (string [] args) {jFreezHexiantest jz = new JFreezHexiantest (); Jframe marco = new Jframe (); Frame.setsize (700, 500); frame.getContentPane (). add (jz.getcpujfreeChart (), borderLayout.center); Frame.SetVisible (verdadero); Frame.SetLocationRelativeto (nulo); // La ventana se encuentra en el centro de la pantalla Frame.setDefaultCloseOperation (WindowsConstants.exit_on_close); DynamicRun (); }}Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.