用java编写一个颜色为红色,粗线型的笑脸和哭脸,需要继承JFrame类,用java中的绘制图形做

用java编写一个颜色为红色,粗线型的笑脸和哭脸,需要继承JFrame类,用java中的绘制图形做,第1张

JFreeChart------------它是一种组件技术,专用于在java中实现图形报表

----------饼图,柱状图,折线图

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()

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11334558.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存