写JFreeChart图之Action

import java.io.IOException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.general.DatasetUtilities;
import org.jfree.data.general.DefaultPieDataset;

import com.guokang.util.Getinstance;

/**
 * MyEclipse Struts Creation date: 06-16-2008 XDoclet definition:
 *
 * @struts.action validate="true"
 */
public class BarchartAction extends DispatchAction
{
 /**
  * Method execute
  *
  * @param mapping
  * @param form
  * @param request
  * @param response
  * @return ActionForward
  */
  public ActionForward barchart2D(ActionMapping mapping , ActionForm form , HttpServletRequest request ,
          HttpServletResponse response) throws IOException
  {
   request.setAttribute("barchart2D" , Getinstance.getbar2D().getMap(request , response));
   return new ActionForward("/chartjspone/PrintChart.jsp");
  }
 
  public ActionForward barchart3D(ActionMapping mapping , ActionForm form , HttpServletRequest request ,
          HttpServletResponse response)
  {
   double[][] data = new double[][]{{672 , 766 , 223 , 540 , 126}};
   String[] rowsKeys = {"苹果" };
   String[] columnKeys = {"北京" , "上海" , "广州" , "成都" , "深圳"};
   CategoryDataset dataset = DatasetUtilities.createCategoryDataset(rowsKeys , columnKeys , data);
   request.setAttribute("barchart3D" , Getinstance.getbar3D().getMap(request , response , dataset));
   return new ActionForward("/chartjspone/PrintChart.jsp");
  }
 /*public ActionForward piechart2D(ActionMapping mapping , ActionForm form , HttpServletRequest request ,
         HttpServletResponse response) throws IOException
 {
  //你要进行选择的标题
  String[] key = new String[]{"","A1" , "B1" , "C1" , "A2" , "B2" , "C2" , "A3" , "B3" , "C3"};
  
  //存储你选择后的算数值
  int[] value = new int[2];
  
  //满分值
  int total = 45;
  
  //你选中后的标题
  StringBuffer sb = new StringBuffer(key.length);
  
  //转换成动态的form
  DynaActionForm daform = (DynaActionForm) form;
  
  //判断是否某一项没被选到
  if (daform.get("pa")==null||daform.get("ba")==null||daform.get("wa")==null)
  {
   return null;
  }
  else
  {
   //转换提交的数据成整型
   int a = Integer.valueOf(daform.get("pa").toString());
   int b = Integer.valueOf(daform.get("ba").toString());
   int c = Integer.valueOf(daform.get("wa").toString());
   
   //对选中值进行求和
   int temp = a+b+c;
   value[0] = temp;
   value[1] = total-temp;
   
   //存储你所选中的标题
   String title = sb.append(key[a]).append(key[b]).append(key[c]).toString();
   
   //生成饼图数据集
   DefaultPieDataset dpd = new DefaultPieDataset();
   dpd.setValue(title , value[0]);
   dpd.setValue("其他" , value[1]);
   request.setAttribute("piechart2D" , Getinstance.getpie2D().getMap(request , dpd));
  }
  return new ActionForward("/jsp/PrintChart.jsp");
 }*/

  public ActionForward piechart3D(ActionMapping mapping , ActionForm form , HttpServletRequest request ,
          HttpServletResponse response) throws IOException
  {
   DefaultPieDataset dpd = new DefaultPieDataset();
   dpd.setValue("豆类   50g" , new Double(50));
   dpd.setValue("谷   325g" , new Double(325));
   dpd.setValue("奶类   250ml" , new Double(250));
   dpd.setValue("蛋类   25g" , new Double(25));
   dpd.setValue("油脂   18g" , new Double(18));
   dpd.setValue("肉食   90g" , new Double(90));
   dpd.setValue("鱼虾   50g" , new Double(50));
   dpd.setValue("菜   500g" , new Double(500));
   dpd.setValue("水果   200g" , new Double(200));
 
   request.setAttribute("piechart3D" , Getinstance.getpie3D().getMap(request , dpd));
   return new ActionForward("/chartjspone/PrintChart.jsp");
  }
 
  public ActionForward simplepie3D(ActionMapping mapping , ActionForm form , HttpServletRequest request ,
          HttpServletResponse response) throws IOException
  {
   DefaultPieDataset dpd = new DefaultPieDataset();
   dpd.setValue("家族史  不变因素" , new Double(0.1D));
   dpd.setValue("A性格  高危可变因素" , new Double(0.1D));
   dpd.setValue("过去病史  动态可变因素" , new Double(0.1D));
   dpd.setValue("体检指标  动态可变因素" , new Double(0.25D));
   dpd.setValue("不良生活方式  主要可变因素" , new Double(0.45D));
   request.setAttribute("simplepie3D" , Getinstance.getsimplepie3D().getMap(request , dpd));
   return new ActionForward("/chartjspone/PrintChart.jsp");
  }
 
  public ActionForward areachart2D(ActionMapping mapping , ActionForm form , HttpServletRequest request ,
          HttpServletResponse response)
  {
   double bmi = 18.82D;
   request.setAttribute("areachart2D" , Getinstance.getareachart2D().getMap(request , bmi));
   return new ActionForward("/chartjspone/PrintChart.jsp");
  }
 
  public ActionForward newarea2D(ActionMapping mapping , ActionForm form , HttpServletRequest request ,
          HttpServletResponse response)
  {
   double bmi = 6.8D;
   request.setAttribute("newarea2D" , Getinstance.getnewareachart2D().getMap(request , bmi));
   return new ActionForward("/chartjspone/PrintChart.jsp");
  }
 
  public ActionForward morebarchart2D(ActionMapping mapping , ActionForm form , HttpServletRequest request ,
          HttpServletResponse response)
  {
   request.setAttribute("morebarchart2D" , Getinstance.getmorebarchart2D().getMap(request));
   return new ActionForward("/chartjspone/PrintChart.jsp");
  }
 
  public ActionForward hbbarchart2D(ActionMapping mapping , ActionForm form , HttpServletRequest request ,
          HttpServletResponse response)
  {
   request.setAttribute("hbbarchart2D" , Getinstance.gethbbarchart2D().getMap(request));
   return new ActionForward("/chartjspone/PrintChart.jsp");
  }
 
  public ActionForward test(ActionMapping mapping , ActionForm form , HttpServletRequest request ,
          HttpServletResponse response)
  {
   double xpress = 78D;
   double ypress = 138D;
   double[] value = {xpress , ypress};
   request.setAttribute("test" , Getinstance.getTest().getMap(request , value));
   return new ActionForward("/chartjspone/PrintChart.jsp");
  }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值