专注于Jsp开发,为Jsp开发提供原动力郑州网站建设 | 网站优化 | 郑州网络公司 | 洛阳网站建设 | 网站建设 | 北京网站建设
jsp空间
    栏目导航:
专家推荐
Java基础
企业级开发
JSP 空间帮助
Eclipse
主机租用帮助
Spring
Struts
AJAX
脚本语言
设计模式
常用软件下载
    最近更新:
扩展java.lang.String...
Java String中的HashC...
SSH集成框架下真正实现...
Scala编程语言简介
Java数据类型之__Date...
Hibernate 外键关联与...
Hibernate基于外键的查...
Java和JSP编程的六个常...
    点击排行:
Google推三维地图服务...
按照需要选择服务器 
电子政务:向第二、三...
网络营销的目标设定
“IT神童”预言中文将...
中国互联网的几种模式...
《互联网站从事登载新...
《关于互联网中文域名...
JFreeChart做题杂谈
作者无:   加入时间:2008-11-12 16:43:02   点击次数:28

import java.awt.*;import java.awt.event.*;import javax.swing.*;import org.jfree.chart.ChartPanel;import org.jfree.chart.JFreeChart;import org.jfree.chart.axis.DateAxis;import org.jfree.chart.axis.NumberAxis;import org.jfree.chart.plot.XYPlot;import org.jfree.chart.renderer.xy.XYItemRenderer;import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;import org.jfree.data.time.*;import org.jfree.ui.RectangleInsets;public class MemoryUsageDemo extends JPanel{    class DataGenerator extends Timer        implements ActionListener    {        public void actionPerformed(ActionEvent actionevent)        {            long l = Runtime.getRuntime().freeMemory();            long l1 = Runtime.getRuntime().totalMemory();            addTotalObservation(l1);            addFreeObservation(l);        }        DataGenerator(int i)        {            super(i, null);            addActionListener(this);        }    }    public MemoryUsageDemo(int i)    {        super(new BorderLayout());        total = new TimeSeries("Total Memory", org.jfree.data.time.Millisecond.class);        total.setMaximumItemAge(i);        free = new TimeSeries("Free Memory", org.jfree.data.time.Millisecond.class);        free.setMaximumItemAge(i);        TimeSeriesCollection timeseriescollection = new TimeSeriesCollection();        timeseriescollection.addSeries(total);        timeseriescollection.addSeries(free);        DateAxis dateaxis = new DateAxis("Time");        NumberAxis numberaxis = new NumberAxis("Memory");        dateaxis.setTickLabelFont(new Font("SansSerif", 0, 12));        numberaxis.setTickLabelFont(new Font("SansSerif", 0, 12));        dateaxis.setLabelFont(new Font("SansSerif", 0, 14));        numberaxis.setLabelFont(new Font("SansSerif", 0, 14));        XYLineAndShapeRenderer xylineandshaperenderer = new XYLineAndShapeRenderer(true, false);        xylineandshaperenderer.setSeriesPaint(0, Color.red);        xylineandshaperenderer.setSeriesPaint(1, Color.green);        xylineandshaperenderer.setSeriesStroke(0, new BasicStroke(3F, 0, 2));        xylineandshaperenderer.setSeriesStroke(1, new BasicStroke(3F, 0, 2));        XYPlot xyplot = new XYPlot(timeseriescollection, dateaxis, numberaxis, xylineandshaperenderer);        xyplot.setBackgroundPaint(Color.lightGray);        xyplot.setDomainGridlinePaint(Color.white);        xyplot.setRangeGridlinePaint(Color.white);        xyplot.setAxisOffset(new RectangleInsets(5D, 5D, 5D, 5D));        dateaxis.setAutoRange(true);        dateaxis.setLowerMargin(0.0D);        dateaxis.setUpperMargin(0.0D);        dateaxis.setTickLabelsVisible(true);        numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());        JFreeChart jfreechart = new JFreeChart("JVM Memory Usage", new Font("SansSerif", 1, 24), xyplot, true);        jfreechart.setBackgroundPaint(Color.white);        ChartPanel chartpanel = new ChartPanel(jfreechart, true);        chartpanel.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4), BorderFactory.createLineBorder(Color.black)));        add(chartpanel);    }    private void addTotalObservation(double d)    {        total.add(new Millisecond(), d);    }    private void addFreeObservation(double d)    {        free.add(new Millisecond(), d);    }    public static void main(String args[])    {        JFrame jframe = new JFrame("Memory Usage Demo");        MemoryUsageDemo memoryusagedemo = new MemoryUsageDemo(30000);        jframe.getContentPane().add(memoryusagedemo, "Center");        jframe.setBounds(200, 120, 600, 280);        jframe.setVisible(true);        (memoryusagedemo. new DataGenerator(100)).start();        jframe.addWindowListener(new WindowAdapter() {            public void windowClosing(WindowEvent windowevent)            {                System.exit(0);            }        });    }    private TimeSeries total;    private TimeSeries free;}     以上的代码如果运行的话就成为一个很好的时序图了。可以动态显示 出来电脑内存的变化情况。    好好研究一下其代码。


上一篇: 扩展java.lang.String功能函数
下一篇: 关于Java 泛型的基本使用简介
关于我们 | 代理申请 | 付款方式 | 客户管理 | 友情链接 | 网站导航
版权所有 2008 三易网络(洛阳)科技开发有限公司
服务热线:0379-63921200   63265368(洛阳) 0371-63653120(郑州)
QQ在线客服: 312236232  516731113   Email:web@suneasy.cn

总部地址:纱厂南路41号中泰新城泰华苑12楼B座 郑州分公司地址:金水区圣菲城