给你一个例子吧。package com.chart.struts;import java.awt.Font;
import java.io.IOException;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.general.DefaultPieDataset;/**
* @author 韩曦
* email: [email protected]
* blog: http://www.blogjava.net/hill
* @date Jan 12, 20094:48:54 PM
*/
public class ChartAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
{
ActionForward forward=new ActionForward();
//response.setCharacterEncoding("gb2312");
response.setContentType("image/jpeg");
DefaultPieDataset data=getDataSet();
JFreeChart chart=ChartFactory.createPieChart3D("水果产量图", data, true, false, false);
Font font = new Font("SimSun", 10, 20);
TextTitle txtTitle = null;
txtTitle = chart.getTitle();
txtTitle.setFont(font);
PiePlot pieplot = (PiePlot)chart.getPlot();
pieplot.setLabelFont(font);
chart.getLegend().setItemFont(font);
try {
ChartUtilities.writeChartAsJPEG(response.getOutputStream(), chart, 300, 400);
System.out.print("OK");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return forward=mapping.findForward("success");
}
/**
* 获取一个演示用的简单数据集对象
* @return
*/
private static DefaultPieDataset getDataSet() {
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue("苹果",100);
dataset.setValue("梨子",200);
dataset.setValue("葡萄",300);
dataset.setValue("香蕉",400);
dataset.setValue("荔枝",500);
return dataset;
}}
import java.io.IOException;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.general.DefaultPieDataset;/**
* @author 韩曦
* email: [email protected]
* blog: http://www.blogjava.net/hill
* @date Jan 12, 20094:48:54 PM
*/
public class ChartAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
{
ActionForward forward=new ActionForward();
//response.setCharacterEncoding("gb2312");
response.setContentType("image/jpeg");
DefaultPieDataset data=getDataSet();
JFreeChart chart=ChartFactory.createPieChart3D("水果产量图", data, true, false, false);
Font font = new Font("SimSun", 10, 20);
TextTitle txtTitle = null;
txtTitle = chart.getTitle();
txtTitle.setFont(font);
PiePlot pieplot = (PiePlot)chart.getPlot();
pieplot.setLabelFont(font);
chart.getLegend().setItemFont(font);
try {
ChartUtilities.writeChartAsJPEG(response.getOutputStream(), chart, 300, 400);
System.out.print("OK");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return forward=mapping.findForward("success");
}
/**
* 获取一个演示用的简单数据集对象
* @return
*/
private static DefaultPieDataset getDataSet() {
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue("苹果",100);
dataset.setValue("梨子",200);
dataset.setValue("葡萄",300);
dataset.setValue("香蕉",400);
dataset.setValue("荔枝",500);
return dataset;
}}
- 1 .建立目录:$JAVA_HOME/jre/lib/fonts/fallback; + [[Linux 入门教程]]
- 2. cp中文字体到刚才建立的目录中,或者在这个目录中建立到中文字体的连接(用ln 命令); +
- 3. 大功告成。