
----------饼图,柱状图,折线图
JFreeChart它是一种独立图表技术,它与struts2本身并无关系,只不过,它可以与struts2配合使用
饼图的步骤:
1、创建一个web工程
2、导入struts2框架(core,struts2-jfreeChart)
3、向工程导入(jfreechart.jar,jcommon.jar)
4、创建BaseAction继承于ActionSupport,并且,在类中,声明一个属性 JFreeChart chart并且生成set,get方法
5、编写ChartAction类,继承于BaseAction
6、在ChartAction类中,编写 showPie()用于显示饼图
7、在struts.xml配置当前action
8、在index.jsp配置,通过<img src="chart!showPie.action">进入到指定方法
=================================================================================================================
9、编写ChartDao类,模拟从数据库查询数据
//得到饼图需要的数据集
public DefaultPieDataset getPieDataset(){
DefaultPieDataset dp = new DefaultPieDataset()
dp.setValue("联想",321)
dp.setValue("华硕",189)
dp.setValue("戴尔",98)
dp.setValue("IBM",213)
dp.setValue("Apple",287)
dp.setValue("惠普",120)
dp.setValue("SONY",87)
return dp
}
==============================================================================================================
10、在ChartAction中的showPie方法,生成饼图
public String showPie(){
//得以要显示的数据集,根据数据,生成饼图
DefaultPieDataset dp = dao.getPieDataset()
//chart = ChartFactory.createPieChart("标题",要显示在饼图中的数据集,是否显示颜色说明,"是否显示工具提示","是否显示网络地址 ")
chart = ChartFactory.createPieChart("一季度各电脑品牌销售汇总",dp,true,false,false)
return "success"
}
=============================================================================================================
11、在struts.xml文件,进行相关配置
<package name="struts2" extends="struts-default">
<result-types>
<result-type name="chart" class="org.apache.struts2.dispatcher.ChartResult"/>
</result-types>
<action name="chart" class="org.java.web.ChartAction">
<result name="success" type="chart">
<param name="width">800</param>
<param name="height">600</param>
</result>
</action>
</package>
=================================================================================================================
12、解决乱码
标题区的乱码
Font f1 = new Font("隶书",Font.BOLD,40)
TextTitle tt = new TextTitle("一季度各电脑品牌销售汇总",f1)
chart.setTitle(tt)//绑定标题
颜色提示区乱码
Font f2 = new Font("隶书",Font.BOLD,20)
LegendTitle lt = chart.getLegend()
lt.setItemFont(f2)//设置该区域的字体
解决饼图中的乱码
PiePlot pp = (PiePlot) chart.getPlot()//得到饼图区域
pp.setLabelFont(f2)//设置饼图区域中的字体
=============================================================================================================
13、设置饼图中要显示的数据格式
//该对象,用于指定饼图要显示的数据格式//0:key //1:value 2:百分比
StandardPieSectionLabelGenerator sc = new StandardPieSectionLabelGenerator("{0},{1}台,{2}")
//把显示的格式,绑定饼图中
pp.setLabelGenerator(sc)
需要完整版请联系我
import java.awt.*import javax.swing.*
public class Example6_3 extends JFrame
{
public Example6_3()
{
super("��")
setSize(400,400)
setVisible(true)
setDefaultCloseOperation(EXIT_ON_CLOSE)
}
public void paint(Graphics g)
{
g.setColor(Color.yellow)
g.fillOval(35,30,210,210)
g.setColor(Color.black)
g.fillArc(70,70,150,150,180,180)
g.setColor(Color.yellow)
g.fillArc(70,75,150,130,180,180)
g.setColor(Color.black)
g.fillOval(80,100,30,30)
g.fillOval(180,100,30,30)
}
public static void main(String[] args)
{
new Example6_3()
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)