十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
JFreeChart------------它是一种组件技术,专用于在java中实现图形报表
成都创新互联从2013年开始,是专业互联网技术服务公司,拥有项目成都网站设计、网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元延长做网站,已为上家服务,为延长各地企业和个人服务,联系电话:028-86922220
----------饼图,柱状图,折线图
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);
需要完整版请联系我
System.out.format("%4s%5s", " ", "*****\n");
System.out.format("%3s%1s%7s", " ", "*", "*\n");//"\n"长度是1
System.out.format("%2s%1s%7s", " ", "* _", "_ *\n");
System.out.format("%1s%3s%4s%4s", " *", "o", "o", "*\n");
System.out.format("%1s%6s%7s", "*", "|", "*\n");
System.out.format("%1s %5s %5s", "*", "+", "*\n");
System.out.format("%1s %2s %3s", " *", "╲___╱", "*\n");
System.out.format("%3s%1s%7s", " ", "*", "*\n");
System.out.format("%4s%5s", " ", "*****\n");
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class design extends Frame {
private String title = "笑脸";
design() {
this.setTitle("变脸小程序");
}
public void paint(Graphics g) {
g.drawArc(100, 200, 100, 60, 0, 180);
g.drawArc(260, 200, 100, 60, 0, 180);
if (!title.equals("笑脸")) {
g.drawArc(180, 260, 100, 60, 0, -180); // 画弧---嘴巴
title = "笑脸";
} else {
g.drawArc(180, 260, 100, 60, 0, 180); // 画弧---嘴巴
title = "哭脸";
}
g.drawString(title, 80, 100);
g.drawOval(80, 100, 300, 300);
}
public static void main(String args[]) {
design D = new design();
D.setSize(new Dimension(500, 500));
D.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
D.addMouseListener(new MouseClick(D));
D.setVisible(true);
}
}
class MouseClick implements MouseListener {// 实现鼠标监听事件
private design d;
public MouseClick() {
}
public MouseClick(design d) {
this.d = d;
}
public void mouseClicked(MouseEvent e) {// 这这里做鼠标单机处理
// TODO Auto-generated method stub
if (d != null) {
d.repaint();
}
}
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
}
已经做好了,顺便帮你调整一下格式
背景音乐: Toolkit.getAudioClip("*.wav").loop();
游戏结束后调用stop();
象Windows自带的扫雷,表情其实是作为一个Button的Icon,你可以在判断是否为雷的逻辑中追加,button.setIcon(createImageIcon("哭脸.gif"));
笑脸则可以button.setIcon(createImageIcon("笑脸.gif"));
Thread.sleep(100);button.setIcon(createImageIcon("正常.gif"));