如何将jfreechart中的图表在Action中如何实现显示到页面!???

package jftest;

import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JPanel;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.PolarPlot;
import org.jfree.data.xy.XYDataset;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
public class PolarChartDemo1 extends ApplicationFrame {
    public PolarChartDemo1(String title) {
        super(title);
        JPanel chartPanel = createDemoPanel();
        chartPanel.setPreferredSize(new Dimension(500, 270));
        setContentPane(chartPanel);
    }
    private static XYDataset createDataset() {
        XYSeriesCollection result = new XYSeriesCollection();
        XYSeries s1 = new XYSeries("Series 1");
        s1.add(0.0, 2.0);
        s1.add(90.0, 13.0);
        s1.add(180.0, 9.0);
        s1.add(270.0, 8.0);
        result.addSeries(s1);
        XYSeries s2 = new XYSeries ("Series 2");
        s2.add(90.0, -11.2);
        s2.add(180.0, 21.4);
        s2.add(250.0, 17.3);
        s2.add(355.0, 10.9);
        result.addSeries(s2);
        return result;
       
    }
     private static JFreeChart createChart(XYDataset dataset) {
       
        JFreeChart chart = ChartFactory.createPolarChart(
            "Polar Chart Demo 1", dataset, true, false, false);

        chart.setBackgroundPaint(Color.white);

        PolarPlot plot = (PolarPlot) chart.getPlot();
        plot.setBackgroundPaint(Color.lightGray);
        plot.addCornerTextItem("Corner Item 1");
        plot.addCornerTextItem("Corner Item 2");
       
        plot.setAngleGridlinePaint(Color.white);
        plot.setRadiusGridlinePaint(Color.white);
       
             NumberAxis rangeAxis = (NumberAxis) plot.getAxis();
        rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
       
        return chart;
       
    }
    public static JPanel createDemoPanel() {
        JFreeChart chart = createChart(createDataset());
        ChartPanel panel = new ChartPanel(chart);
        panel.setMouseZoomable(false);
        return panel;
    }
        public static void main(String[] args) {
        PolarChartDemo1 demo = new PolarChartDemo1("Polar Chart Demo");
        demo.pack();
        RefineryUtilities.centerFrameOnScreen(demo);
        demo.setVisible(true);
    }

}

在struts的配置文件中,你画图的这个action的包继承(extends)的是jfreechart这一项
这个action返回类型修改为chart即type="chart",这里你也可以设置图标的长宽
其它的配置跟普通的action类似,你自己试试呢
追问
如果通过servlet呢 那样怎么显示呢?jfreechart是弹出的窗体呀!
回答
servlet我是没做过,但action其本质也是一个servlet啊,相同道理的应该
我就在struts2中用过jfreechart
<action name="*******action" class="********" method="********"> 
<result name="success" type="chart"  >
    <param name="height">600</param>
    <param name="width">800</param>
</result>
</action>
这是指向到一个action的,jfreechart自己会生成一个chart在页面打印出来的(暂时我只记得这么多,下班回家以后贴下一个完整的配置)

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值