如何将jfreechart做好的图在页面上显示啊?

问题描述

用jfreechart做的一个.java文件,在MyEclipse中已经调试通过了(RunAs-->JavaApplication),在弹出的窗口图已经显示出来了。但是我不知道如何把它转到web页面上,请教各位高手:packageTest;importjava.awt.*;importjava.text.NumberFormat;importjavax.servlet.http.HttpSession;importjavax.servlet.jsp.JspWriter;importjavax.swing.JPanel;importorg.jfree.chart.*;importorg.jfree.chart.annotations.CategoryTextAnnotation;importorg.jfree.chart.axis.CategoryAnchor;importorg.jfree.chart.axis.NumberAxis;importorg.jfree.chart.labels.*;importorg.jfree.chart.plot.*;importorg.jfree.chart.renderer.category.BarRenderer;importorg.jfree.chart.title.TextTitle;importorg.jfree.data.category.CategoryDataset;importorg.jfree.data.category.DefaultCategoryDataset;importorg.jfree.ui.*;importjava.awt.Color;importjava.awt.Dimension;importjava.awt.Font;importjava.awt.GradientPaint;importjava.awt.Image;importjava.io.IOException;importjavax.imageio.ImageIO;importorg.jfree.chart.ChartFactory;importorg.jfree.chart.ChartPanel;importorg.jfree.chart.JFreeChart;importorg.jfree.chart.axis.AxisLocation;importorg.jfree.chart.axis.CategoryAxis;importorg.jfree.chart.axis.CategoryLabelPositions;importorg.jfree.chart.axis.NumberAxis;importorg.jfree.chart.axis.NumberTickUnit;importorg.jfree.chart.axis.ValueAxis;importorg.jfree.chart.block.BlockContainer;importorg.jfree.chart.block.BorderArrangement;importorg.jfree.chart.block.LabelBlock;importorg.jfree.chart.labels.StandardCategoryItemLabelGenerator;importorg.jfree.chart.plot.CategoryPlot;importorg.jfree.chart.plot.IntervalMarker;importorg.jfree.chart.plot.PlotOrientation;importorg.jfree.chart.renderer.category.BarRenderer;importorg.jfree.chart.renderer.category.LineAndShapeRenderer;importorg.jfree.chart.title.LegendTitle;importorg.jfree.chart.title.TextTitle;importorg.jfree.chart.urls.StandardCategoryURLGenerator;importorg.jfree.data.category.CategoryDataset;importorg.jfree.data.category.DefaultCategoryDataset;importorg.jfree.ui.ApplicationFrame;importorg.jfree.ui.HorizontalAlignment;importorg.jfree.ui.Layer;importorg.jfree.ui.RectangleAnchor;importorg.jfree.ui.RectangleEdge;importorg.jfree.ui.RectangleInsets;importorg.jfree.ui.RefineryUtilities;importorg.jfree.ui.TextAnchor;importorg.jfree.ui.VerticalAlignment;publicclassBarChartDemo4extendsApplicationFrame{privatestaticfinallongserialVersionUID=1L;staticclassCustomBarRendererextendsBarRenderer{publicPaintgetItemPaint(inti,intj){CategoryDatasetcategorydataset=getPlot().getDataset();doubled=categorydataset.getValue(i,j).doubleValue();if(d>=0.69999999999999996D)returnColor.green;elsereturnColor.red;}publicCustomBarRenderer(){}}publicBarChartDemo4(Strings){super(s);CategoryDatasetcategorydataset=createDataset();CategoryDatasetcategorydataset1=createDataset1();JFreeChartjfreechart=createChart(s,categorydataset,categorydataset1);ChartPanelchartpanel=newChartPanel(jfreechart);chartpanel.setPreferredSize(newDimension(500,270));setContentPane(chartpanel);}privatestaticCategoryDatasetcreateDataset(){DefaultCategoryDatasetdefaultcategorydataset=newDefaultCategoryDataset();defaultcategorydataset.addValue(0.77,"Series1","汉字");defaultcategorydataset.addValue(0.93,"Series1","Mary");defaultcategorydataset.addValue(0.58,"Series1","John");defaultcategorydataset.addValue(0.75,"Series1","Ellen");defaultcategorydataset.addValue(0.63,"Series1","Jack");defaultcategorydataset.addValue(0.94,"Series1","David");defaultcategorydataset.addValue(0.70,"Series1","Mark");defaultcategorydataset.addValue(0.50,"Series1","Andy");returndefaultcategorydataset;}privatestaticCategoryDatasetcreateDataset1(){DefaultCategoryDatasetdefaultcategorydataset=newDefaultCategoryDataset();defaultcategorydataset.addValue(87,"Series11","汉字");defaultcategorydataset.addValue(89,"Series11","Mary");defaultcategorydataset.addValue(75,"Series11","John");defaultcategorydataset.addValue(57,"Series11","Ellen");defaultcategorydataset.addValue(76,"Series11","Jack");defaultcategorydataset.addValue(59,"Series11","David");defaultcategorydataset.addValue(47,"Series11","Mark");defaultcategorydataset.addValue(10,"Series11","Andy");returndefaultcategorydataset;}

解决方案

解决方案二:
privatestaticJFreeChartcreateChart(Strings,CategoryDatasetcategorydataset,CategoryDatasetcategorydataset1){JFreeChartjfreechart=ChartFactory.createBarChart("StudentGrades","","进度",categorydataset,PlotOrientation.VERTICAL,false,true,false);jfreechart.setTitle(newTextTitle("Student",newFont("宋体",Font.BOLD,25)));CategoryPlotcategoryplot=(CategoryPlot)jfreechart.getPlot();CustomBarRenderercustombarrenderer=newCustomBarRenderer();custombarrenderer.setBaseItemLabelGenerator(newStandardCategoryItemLabelGenerator());custombarrenderer.setBaseItemLabelsVisible(true);custombarrenderer.setItemLabelAnchorOffset(10D);custombarrenderer.setBasePositiveItemLabelPosition(newItemLabelPosition(ItemLabelAnchor.OUTSIDE12,TextAnchor.BASELINE_LEFT));categoryplot.setRenderer(custombarrenderer);ValueMarkervaluemarker=newValueMarker(0.69999999999999996D,newColor(200,200,255),newBasicStroke(1.0F),newColor(200,200,255),newBasicStroke(1.0F),1.0F);valuemarker.setPaint(Color.blue);valuemarker.setLabel("完成");valuemarker.setLabelFont(newFont("SansSerif",0,18));valuemarker.setLabelAnchor(RectangleAnchor.TOP_LEFT);valuemarker.setLabelTextAnchor(TextAnchor.BOTTOM_LEFT);categoryplot.addRangeMarker(valuemarker,Layer.BACKGROUND);custombarrenderer.setBaseItemLabelsVisible(true);custombarrenderer.setMaximumBarWidth(0.05000000000000000);CategoryTextAnnotationcategorytextannotation=newCategoryTextAnnotation("最小","Robert",0.70999999999999996D);categorytextannotation.setCategoryAnchor(CategoryAnchor.START);categorytextannotation.setFont(newFont("宋体",0,12));categorytextannotation.setTextAnchor(TextAnchor.BOTTOM_CENTER);categoryplot.addAnnotation(categorytextannotation);NumberAxisnumberaxis=(NumberAxis)categoryplot.getRangeAxis();numberaxis.setNumberFormatOverride(NumberFormat.getPercentInstance());numberaxis.setUpperMargin(0.10000000000000001D);ChartUtilities.applyCurrentTheme(jfreechart);CategoryPlotplot=jfreechart.getCategoryPlot();//设置图片的透明度plot.setForegroundAlpha(1f);//plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);//设置第二y轴坐标名NumberAxisnumberAxis=newNumberAxis("销量");//将第二纵坐标间距设置为5numberAxis.setTickUnit(newNumberTickUnit(5));//坐标轴标尺值字体numberAxis.setLabelFont(newFont("Serif",Font.CENTER_BASELINE,30));//装载第二y轴坐标plot.setRangeAxis(1,numberAxis);//设置第二y轴坐标位置plot.setRangeAxisLocation(1,AxisLocation.BOTTOM_OR_RIGHT);//装载第二组数据plot.setDataset(1,categorydataset1);//是第二组数据生成线图plot.setRenderer(1,newLineAndShapeRenderer());//第二个数据映射到第一个数据域x轴plot.mapDatasetToDomainAxis(1,0);//第二个数据映射到第二个数据域y轴plot.mapDatasetToRangeAxis(1,1);//plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);//x坐标轴实例化CategoryAxisxaxis=plot.getDomainAxis();//坐标轴标尺值字体xaxis.setTickLabelFont(newFont("黑体",Font.CENTER_BASELINE,20));xaxis.setLabelFont(newFont("Serif",Font.CENTER_BASELINE,20));ValueAxisyaxis=plot.getRangeAxis();//坐标轴标尺值字体yaxis.setTickLabelFont(newFont("Serif",Font.CENTER_BASELINE,20));yaxis.setLabelFont(newFont("Serif",Font.CENTER_BASELINE,20));returnjfreechart;}publicstaticvoidmain(Stringargs[]){BarChartDemo4barchartdemo4=newBarChartDemo4("JFreeChart:BarChartDemo4.java");barchartdemo4.pack();RefineryUtilities.centerFrameOnScreen(barchartdemo4);barchartdemo4.setVisible(true);}}
解决方案三:
配置一个Servlet就行了
解决方案四:
我是一个菜鸟,能给详细说说吗?
解决方案五:
可以直接把生成的图片放到某个目录下啊,页面上直接就可以用啊

时间: 2024-09-21 07:19:51

如何将jfreechart做好的图在页面上显示啊?的相关文章

如何获取设置图片大小以适应大小在页面上显示

显示|页面 大家知道,丰富多彩的Web页面离不开图片的支持,图像一方面增加了网页的生动性,另一方面增加了网页规模,使下载速度减慢.如何让一图片能以适当大小在页面上显示,成了我一时解不开的谜. 前不久,我为单位开发了一个教学科研网站,采用新闻管理系统,首页上新闻栏目中,需要从数据库中调用图片文件作为图片新闻中的图片,从而形成文字绕排形式.由于整个系统包括新闻上传.新闻编辑.系统公告等都是动态实现的.在开发的过程中,我考虑到以下几个因素:(1)作为网站的维护者,对计算机的操作不太熟练:(2)网站讲究

JSF中编写一个在页面上显示的Hello World

我们编写一个在页面上显示是"Hello World! ",我们至少需要编写一个Page对象和一个对应模板文件(tml). 第 一步,Page对象编写 在Tapestry5中Page是与一个页面对应的POJO对象,它不需要继承Tapestry框架的任何基类或实现任 何接口,但是随着我们业务变得复杂Page会增加,在它的内部会增加一些事件处理方法和Annotations(标注). 作为第 一个运行的首页面的Page对象命名是有规定的"Start",当然我们还可以设定成为

页面显示-为什么页面上 显示不出jsp中label 里的文字 求大神指教

问题描述 为什么页面上 显示不出jsp中label 里的文字 求大神指教 为什么页面上 显示不出jsp中label 里的文字 求大神指教 解决方案 你要显示什么东西?把代码贴出来 解决方案二: 你这是表格还是div的?如果是表格的话应该就没有这问题吧.div的话可能被覆盖了.div的话可以这样试试: 密码 相关文章 java web-.jsp页面中如何把文字写在图片上想要的位置? jsp-在一个JSP页面显示显示两张表的数据,求大神求好心淫 帮帮我~~~~~~ java web-求大神指教关于J

SSH框架 关于查询视图数据在jsp页面上显示不了的问题

问题描述 SSH框架 关于查询视图数据在jsp页面上显示不了的问题 问题描述:有排课表Course,从中取出四个属性来生成视图Information,然后在service层写业务逻辑想显示视图的数据时,jsp页面显示不出数据来.service层代码: 在数据库中视图information是有数据的,请问service层应该怎么写才能在jsp中显示视图的数据? 解决方案 照你这个方法,只是返回了查询数据列表view对象,然后你需要在控制层@Controller修饰的类的某个方法中调用这个查询,并把

java javaweb jsp-新手求帮助 如何实现jsp页面将从数据库查到的邮箱地址在页面上显示的时候中间变成*

问题描述 新手求帮助 如何实现jsp页面将从数据库查到的邮箱地址在页面上显示的时候中间变成* 刚刚碰到一个问题就是我用servlet把邮箱地址查出来了 可是在jsp页面上显示的时候是显示的完整的邮箱地址 我想把这个邮箱中间的几个给修改成* 请问用什么代码可以做到 请各位大神帮帮忙 解决方案 你可以新建两个变量.. 存放邮箱的前三位和后三位. 然后.在两个变量之间拼接*号 最后把拼接的变量显示在JSP页面中 解决方案二: 你可以在后端或者前端处理,就是替换几个字符

初学DWR不是很懂,页面上显示undefined

问题描述 页面上显示的是undefined,主要是DWR没学过,还有setAttribute('id','info'+list[i]);appendChild(ele);innerHTML这些用法不是很清楚到底是哪里出错了,照我的理解应该会显示出我需要的结果的啊,标题加内容核心代码:var request;var minpage;var maxpage;var startindex;var hasnext;function doSearch(type){var result=document.g

当我在JSP页面上动态的往数据库里插入数据时,在页面上显示新插入的记录的时候,该条记录总是显示在最后一条,怎么做才能让刚刚新插入的记录显示在最前面?

问题描述 在数据库中往外读取数据时,在页面上用表格显示是按照数据表里的ID号依次往下排的,当我在JSP页面上动态的往数据库里插入数据时,在页面上显示新插入的记录的时候,该条记录总是显示在最后一条,怎么做才可以让刚刚新插入的记录显示在JSP页面最前面,也就是显示在第一条的位置上?(用的是表格显示数据) 解决方案 解决方案二:你查询的时候按ID降序获得结果集这样不就可以了解决方案三:引用1楼zn85600301的回复: 你查询的时候按ID降序获得结果集这样不就可以了 只有引用的内容不允许回复!解决方

php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法_php技巧

date.csv:"ID" "NAME" "EMAIL""1" "小明" "xm@163.com""2" "小东" "xd@sina.com""3" "小少" "shaozi@hotmai.com" 读取这个csv文件 复制代码 代码如下: <?php$handl

如何实现通过点击LINKBUUTON(文件名)打开PDF格式文件,PDF文件要求在另一个页面上显示!

问题描述 protectedvoidLinkButton1_Click(objectsender,EventArgse){LinkButtonl=(LinkButton)sender;stringll=l.Text;stringFileName;Response.Clear();Response.ContentType="application/pdf";Response.AddHeader("content-disposition","inline;at