社区
Java EE
帖子详情
急!问个有关struts1和jfreechart的问题!
mxx123
2009-09-23 01:48:40
项目里使用了SSH框架(Struts1)后,如何用Jfreechart生成柱状图和线状图啊?
希望高人们能指点小弟一下!最好能给个例子或代码!
先谢谢了!急!!!!!
...全文
238
23
打赏
收藏
急!问个有关struts1和jfreechart的问题!
项目里使用了SSH框架(Struts1)后,如何用Jfreechart生成柱状图和线状图啊? 希望高人们能指点小弟一下!最好能给个例子或代码! 先谢谢了!急!!!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
uprighthonest
2009-09-30
打赏
举报
回复
我想有人答复这个问题,很难,我搞map的时候,问了半天,都没人理,最后还是自己搞定!
希望有人能知道,一起期待!
[Quote=引用 17 楼 mxx123 的回复:]
继续期待。。。
把查询结果LIST转成(或存到)jfreechart需要的dataset的好方法!
[/Quote]
mxx123
2009-09-30
打赏
举报
回复
继续期待。。。
把查询结果LIST转成(或存到)jfreechart需要的dataset的好方法!
mxx123
2009-09-29
打赏
举报
回复
[Quote=引用 13 楼 uprighthonest 的回复:]
jar包当然要导入的啊,我用的是1.0.13,最新的,你去官网下载下来然后拷到lib下就行了
把查询结果LIST转成(或存到)jfreechart需要的dataset有没有更好的方法啊?
回答:我没有想到什么好方法,自己就这么做的,你如果想到,也可以给大家分享一下
[/Quote]
那文件里import哪些包啊?
阿士匹灵
2009-09-29
打赏
举报
回复
帮顶
uprighthonest
2009-09-29
打赏
举报
回复
呵呵,如果是java文件,你没引入的话,会有个红叉子,鼠标放在哪里,然后就会提示你引入什么包,或者你在那个红叉子上面,ctrl+shift+m,引入所需要的包,ctrl+shift+o,引入所有需要的包,自己试试吧,
uprighthonest
2009-09-28
打赏
举报
回复
我做过,不过我的是饼图的,但原理都一样的,贴一下主要的代码吧
jsp页面
//获得统计数据
List Statistics = (List)request.getAttribute("Statistics");
//生成的图片名字
String fileName=StatisticsChart.generatePieChart(session,new PrintWriter(out),580,250,Statistics);
//map映射
String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + fileName;
下面是图片显示:
<img src="<%= graphURL %>"width=580 height=250 border=0 usemap="#<%=fileName%>">
generatePieChart方法写在action里
public static String generatePieChart(HttpSession session, PrintWriter pw,int w, int h, List Statistics){
String filename = null;
PieDataset dataset = getDataSet(Statistics);
JFreeChart chart = ChartFactory.createPieChart3D(
"需求评价统计图", // 图表标题
dataset, // 数据集
true, // 是否显示图例
true, // 是否生成工具
true // 是否生成URL链接
);
chart.setBackgroundPaint(Color.white);
chart.getTitle().setFont(new Font("黑体",Font.BOLD,16));
chart.getLegend().setItemFont(new Font("宋体",Font.BOLD,12));
PiePlot pieplot = (PiePlot) chart.getPlot();
pieplot.setURLGenerator(new StandardPieURLGenerator("url","url参数",""));
pieplot.setLabelFont(new Font("宋体", 0, 12));
pieplot.setNoDataMessage("no data!");
// 设置开始角度
pieplot.setStartAngle(150D);
// 设置方向为顺时针方向
pieplot.setDirection(Rotation.CLOCKWISE);
// 设置透明度,0.5F为半透明,1为不透明,0为全透明
pieplot.setForegroundAlpha(1);
//pieplot.setExplodePercent("满意", 0.20000000000000001D);
//显示百分比,但不显示百分比后小数
//pieplot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0} = {1}({2})"));
pieplot.setLabelBackgroundPaint(java.awt.Color.white);
//pieplot.setLegendLabelToolTipGenerator(new StandardPieSectionLabelGenerator("Tooltip for legend item {0}"));//[5]
//显示百分比,并让百分比保留两位小数
pieplot.setLabelGenerator(new StandardPieSectionLabelGenerator(
"{0} ({2})", NumberFormat.getNumberInstance(),
new DecimalFormat("0.00%")));
pieplot.setSimpleLabels(true);
//Sets the interior gap and sends a PlotChangeEvent to all registered listeners.
pieplot.setInteriorGap(0.0D);//[7]
//设置扇区边框不可见
pieplot.setSectionOutlinesVisible(false);
//pieplot.setToolTipGenerator(new StandardPieToolTipGenerator());
try {
/*------得到chart的保存路径----*/
ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
filename = ServletUtilities.saveChartAsPNG(chart, w, h, info,session);
/*------使用printWriter将文件写出----*/
ChartUtilities.writeImageMap(pw, filename, info, false);
pw.flush();
} catch (IOException e) {
e.printStackTrace();
}
return filename;
}
/**
* 获取一个饼状图的简单数据集对象
* @return
*/
private static PieDataset getDataSet(List Statistics) {
DefaultPieDataset dataset = new DefaultPieDataset();
Statistics Statistics = null;
for(int i = 0; i < Statistics.size(); i++) {
Statistics = (Statistics)Statistics.get(i);
dataset.setValue(Statistics.getStatisticsName(), Statistics.getStatisticsNumber());
}
return dataset;
}
mxx123
2009-09-28
打赏
举报
回复
哪位高人有结合struts1的实例啊,就给小弟一份吧!急啊!
uprighthonest
2009-09-28
打赏
举报
回复
jar包当然要导入的啊,我用的是1.0.13,最新的,你去官网下载下来然后拷到lib下就行了
把查询结果LIST转成(或存到)jfreechart需要的dataset有没有更好的方法啊?
回答:我没有想到什么好方法,自己就这么做的,你如果想到,也可以给大家分享一下
mxx123
2009-09-28
打赏
举报
回复
先谢谢以上各楼大侠的帮助。
不过还有个问题,
10楼的朋友的帖子里的jsp页面中是否要导入某些JAR包啊?请具体说一下啊!
另外,把查询结果LIST转成(或存到)jfreechart需要的dataset有没有更好的方法啊?
11楼的朋友提到的BufferedImage好像还没找到啊?
dinghun8leech
2009-09-28
打赏
举报
回复
应该有个方法可以得到流,页面端直接调用这个请求就行。类似于点击获得注册码图片。
OutputStream ops = response.getOutputStream()
javax.imageio.ImageIO.write(bi, "jpeg", ops);//bi 为 java.awt.image.BufferedImage
楼主查查Jfreechart的api有没有获得BufferedImage的。
lvsh870228
2009-09-25
打赏
举报
回复
引用,插入数据,返回图片,搞定!
mxx123
2009-09-25
打赏
举报
回复
期待中。。。(+_+在非技术去和灌水区的帖子被删了(+﹏+)~狂晕)
mxx123
2009-09-24
打赏
举报
回复
[Quote=引用 2 楼 imasmallbird 的回复:]
http://topic.csdn.net/u/20090831/13/c6976093-bca6-4637-994e-c0a8bcbc0855.html
1楼的是jfreechart的官方网,上面有很多好的实例
6楼的超链接是普通的实现实例
[/Quote]
是结合struts1的?
guodong66
2009-09-23
打赏
举报
回复
有例子但都掺在项目里边了,楼主去csdn下载区去搜下吧,一堆一堆的。我就是从那上边找了个随便改的。
Struts1下和在Servelt下一样,不过跳转的是.do而已,如果Struts2就不同了,需要整合。呵呵。
imasmallbird
2009-09-23
打赏
举报
回复
http://topic.csdn.net/u/20090831/13/c6976093-bca6-4637-994e-c0a8bcbc0855.html
1楼的是jfreechart的官方网,上面有很多好的实例
6楼的超链接是普通的实现实例
驱动冲突伴随 DWG 图纸文字问号怎么办?下载冲突解决合集.zip
彻底解决CAD图纸文字变问号、文字变乱码,以及其他所有字体缺失带来的烦恼
【对架无人机进行规范控制和点对点运动的模拟】可变桨叶四旋翼控制的优化推力分配:翻转动作的比较研究(Matlab代码实现)
内容概要:本文围绕可变桨叶四旋翼无人机的规范控制与点对点运动模拟展开,重点研究优化推力分配策略在翻转动作中的应用与性能比较。通过Matlab代码实现,构建了四旋翼动力学模型,并设计了多种控制算法以实现精确的姿态调整与轨迹跟踪。研究对比了不同推力分配方案在执行高机动性翻转动作时的稳定性、能耗效率与响应速度,旨在提升无人机在复杂飞行任务中的动态性能与控制精度。该仿真研究为无人机飞控系统的设计与优化提供了理论依据和技术支持。; 适合人群:具备一定自动控制理论基础和Matlab编程能力,从事无人机控制、飞行器动力学或机器人系统研究的科研人员及研究生。; 使用场景及目标:① 实现四旋翼无人机在三维空间中的精确点对点运动控制;② 对比分析不同推力分配策略在执行翻转等高难度动作时的控制效果与能耗表现,优化飞行性能;③ 为无人机自主飞行、特技飞行及复杂环境下的机动控制提供算法验证平台。; 阅读建议:此资源以Matlab仿真为核心,建议读者结合相关控制理论知识,深入理解代码实现细节,重点关注动力学建模、控制律设计与推力分配模块。在学习过程中,应动手调试参数,复现文中翻转动作的仿真结果,并尝试拓展至其他复杂飞行任务,以加深对无人机控制机理的理解。
易语言源码易语言access数据库操作
易语言源码易语言access数据库操作
C++编程while循环结构测试题解析:程序输出与循环控制逻辑训练
内容概要:本文档是一份关于C++语言中while循环的专项测试卷,包含20道单项选择题和10道判断题,题目来源于GESP和CSP-J等权威编程等级考试真题。内容涵盖while循环的基本语法、执行逻辑、条件判断、循环控制、常见死循环原因及与其他循环结构的区别,重点考察循环条件的真假判断、循环体执行次数、变量变化过程以及相关逻辑推理能力。附带完整答案解析,有助于巩固C++循环基础知识。; 适合人群:准备参加GESP或CSP-J等青少年编程等级考试的学生,具备初步C++编程基础的学习者(如中小学阶段初学者);适用于学习流程控制结构中的循环知识点。; 使用场景及目标:①用于检测对while循环掌握程度,查漏补缺;②辅助教师进行教学测评或学生自我练习;③帮助理解循环执行顺序、条件表达式含义及避免死循环等核心概念; 阅读建议:建议在完成每道题目后对照答案认真分析错误原因,结合代码调试加深理解;尤其注意条件赋值与比较的区别(如k=0)、逻辑非运算的应用及循环变量更新机制。
卓海海洋生态平台.pptx
卓海海洋生态平台.pptx
Java EE
67,536
社区成员
225,852
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章