|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
windows系统样,他们做了什么事或者留了一些后门程序,谁都不知道,二,java开发是跨平台,任何系统上都可以运行,对于保密型系统和大型系统开发这是必要的chart|java对象
jfreechart的java对象干系简释
博客中国分类:java手艺,
jfreechart是一个优异的开源JAVA2D项目,弱点是缺少文档,中英文都是云云。本文是履历总结的第二部分
2、jfreechart作图类对象的和谐干系
jfreechart的画图对象由一个org.jfree.chart.JFreeChart构成,但作为画图关头的Graphich2d经由过程org.jfree.chart.render.*中的对应render类包装后设进,换言之,开辟者能够经由过程对基本图板Graphic的设置,完成需要的画图预定效果计划;而年夜多半的修正,实践上能够经由过程包装的各个类操纵而不必间接修正Graphic对象属性(谁记得呢?)。jfreechart的数据接口由org.jfree.chart.plot.*中的分歧的plot包装,与之绝对应的是分歧的dataset,位于org.jfree.chart.data.*中分歧的dataset接口包装。利用jfreechart作图的关头在于生一个个响应的数据集对象,,然后包装成对应的一个个画图集plot对象,最初再包装成分歧的JFreeChart对象托付输入。经由过程new办法能够一步步完成下面的步骤。换言之,plot类是图形的计划,render是绘制的工具,而dataset则是添补的数据;如许就把作图的三个关头要素分离笼统成一致的接口,互想搭配出各类图形。关于大概有多套数据集的图表,如工夫序列的多条曲线走势图(象几只股票),传进plot的不是数据集,而是数据集的汇合,一样平常定名为某某collection。
经由过程ChartFactory的分歧办法天生分歧的Chart范例,能够响应地减少了由dataset对分歧的chart对象的操纵历程代码量,间接取得chart对象。实践上是由工场类取代用户天生需要的render和plot类,假如用户不想利用默许的设置,就必要再经由过程get办法得出响应的plot对象举行修正。jfreechart的最初图象输入一样平常由org.jfree.chart.ChartUtilites完成,这个类能够向接定的PrintWriter对象输入完成的Chart对象。在服务器程序中,另外一个ServerUtilites办法挪用了这个办法,天生一个图象一时文件,并向JSP或servlet前往这个文件对象,经由过程把这个图象的性命周期与session绑定,但愿能够完成缓冲功效,下降服务器静态天生图象的消耗。可是也有很年夜的成绩其一就是假如session很长,就即是不克不及天生及时图象,其二就是会见的人多了,服务器的包袱仿佛反而加年夜了。这个算法明显有成绩,倒不如修正成定时间更新一个图象更加符合。
察看代码,二者效果是一样的:
A、工场办法:
JFreeChartchart=ChartFactory.createPieChart3D("2000GDP散布比例图",data,true,false,false);//指定取得分歧的完成chart对象,含有分歧的plot画图对象PiePlotplot=(PiePlot)chart.getPlot();//猎取plot对象用于订正属性,强迫外型,以便挪用各自的办法plot.setLabelGenerator(newStandardPieItemLabelGenerator("{0}={2}",NumberFormat.getNumberInstance(),NumberFormat.getPercentInstance()));//设定正文体例plot.setForegroundAlpha(0.5f);//设定通明度plot.setNoDataMessage("无纪录内容");//无纪录非常显现
B、手工天生对象
PiePlotplot=newPiePlot(dataset);
plot.setLabelGenerator(newStandardPieItemLabelGenerator("{0}={2}",NumberFormat.getNumberInstance(),NumberFormat.getPercentInstance()));//设定正文体例plot.setForegroundAlpha(0.5f);//设定通明度plot.setNoDataMessage("无纪录内容");//无纪录非常显现
JFreeChartchart=newJFreeChart("",JFreeChart.DEFAULT_TITLE_FONT,plot,false);
net程序员的大部门代码都靠控件拖拽完成的,虽然java也有,但是无论从美观和速度上都没发和.net比。java程序员都是代码完成的,所以java程序员常戏称.net程序员是操作员,呵呵。 |
|