<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Kimi's NutShell

    我荒廢的今日,正是昨日殞身之人祈求的明日

    BlogJava 新隨筆 管理
      141 Posts :: 0 Stories :: 75 Comments :: 0 Trackbacks
    在WEB圖形報表中如何使用jFreeChart
    在使用jFreeChart之前,我們先來了解產生圖形的流程和一些重要的類。
    jFreeChart最新的版本是jFreeChart-1.0.0-pre2(1),在相關的網站上都能下載到最新的版本
    下面提供了相關的鏈接地址:
    http://www.jfree.org/index.php
    http://www.jfree.org/jfreechart/javadoc/ (相關文檔的說明)
    常用到的報表圖有餅狀圖、柱狀圖、折線圖和時間圖等,根據不同的需要我們可以選擇不同的圖形來顯示。
    首先我們要知道怎么使用jFreeChart,其實很簡單就是在我們所建的工程中把它的Jar包導進來就可以了。
    那么jFreeChart中有哪些常用到的類和接口呢
    org.jfree.data.general.Dataset 所有數據源類都要實現的接口
    org.jfree.chart.ChartFactory 由它來產生 JFreeChart 對象(其中包括餅狀圖、柱狀圖等)
    org.jfree.chart.JFreeChart 它是個靜態類,要想生成圖形都要調用它(一般我們用的最多的是ChartFactory)。

    下面我們來介紹jFreeChart產生圖形的流程。
    首先我們要創建一個數據源(dataset)來顯示在圖形的數據,然后我們要創建一個jFreeChart的對象來顯示圖形界面,最后我們就可以輸出圖形了。


    有了上面的基本知識我們以餅狀圖為例子來做一個詳細的說明:
    一、創建數據源
    餅圖的dataset 一般是用PieDataset 接口,具體實現類是 DefaultPieDataset
    DefaultPieDataset defaultpiedataset = new DefaultPieDataset();
    defaultpiedataset.setValue(java.lang.Comparable key, double value);
    備注:第一個參數傳的是在圖形上面顯示數據的標題,第二個參數傳的是在圖形中所占比例的值,一般在實際的工程中這些數據從數據庫中提取的相關的值和數據,但是要注意的是要進行數據類型的轉換哦。這里給出我在做項目過程中的一段小代碼以供參考:
    Vector values = CustomerUtil.getFilterSub(year, month, where, status, filterFiledName);
    for (int i = 0; i < values.size(); i++) {
    SubFilterModel model = (SubFilterModel) values.get(i);
    dataset.setValue(model.getItemName(),newInteger(model.getValue()).doubleValue());
    }
    備注:把所查詢的結果集放到一個容器中如Vector、Hashtable等然后在頁面上直接循環賦值就可以了,這要看實際的情況來定。

    二、創建JFreeChart 對象
    產生圖形都要通過ChartFactory來提供,就餅狀圖而言,提供了createPieChart和
    createPieChart3D兩種方法來創建圖形。
    JFreeChart jfreechart = ChartFactory.createPieChart("我的銷售漏斗", //圖形標題名稱
    dataname, // 數據源
    true, // 是否顯示圖例一般為true,簡單的圖例false
    true, // 是否生成工具
    false); //是否生成URL鏈接

    有了圖形還不行,我們還要將圖形生成JPEG格式的圖片,還好了JFreeChart 給我們提供了是現的方法我們直接調用就可以了
    String filename=ChartUtilities.writeChartAsJPEG(java.io.OutputStream out,
    float quanlity, JFreeChart chart, int width, int height);
    其中參數包括:設置生成圖片,包括圖片的大小,長度,寬度等參數。
    我們得要一個輸出流,把生成的文件寫到指定的位置,當然了我們在讀取圖片的時候必須要獲得圖片的路徑。所以在輸出圖片的同時我們要想方設法把路徑存放下來。
    String URL=request.getContextPath()+"/servlet/DisplayChart?filename="+文件名稱;
    以上只是使用到的一些基礎的方法,別的圖形使用方法都是類似的我們可以參照它提供的API來生成不同的圖片。

    posted on 2006-04-25 09:08 Kimi 閱讀(1720) 評論(3)  編輯  收藏 所屬分類: Java

    評論

    # re: WEB上如何使用JFREECHART簡述 2006-12-20 14:57 tiger[匿名]
    ChartUtilities.writeChartAsJPEG(java.io.OutputStream out,
    float quanlity, JFreeChart chart, int width, int height); 返回值值void。怎么能返回String類型的呢。這個是錯誤的。
      回復  更多評論
      

    # re: WEB上如何使用JFREECHART簡述 2006-12-20 15:03 tiger[匿名]
    這個應該是 ServletUtilities.saveChartAsJPEG(JFreeChart chart,int width,int height,ChartRenderingInfoinfo,javax.servlet.http.HttpSession session)
    才能返回字符串類型的文件名稱。  回復  更多評論
      

    # re: WEB上如何使用JFREECHART簡述 2006-12-29 10:23 Kemi
    謝謝高手賜教  回復  更多評論
      

    主站蜘蛛池模板: 香港一级毛片免费看| 亚洲AV无码专区国产乱码不卡| 免费视频成人国产精品网站 | 精品无码AV无码免费专区| 亚洲乱码国产一区三区| a毛片在线看片免费| 亚洲AV无码成人精品区天堂| 免费观看成人久久网免费观看| 亚洲精品高清无码视频| 日韩精品无码免费专区午夜不卡| 曰韩亚洲av人人夜夜澡人人爽| caoporn国产精品免费| 国产亚洲精品资在线| a级片免费在线观看| 亚洲精品线在线观看| 丁香花免费完整高清观看| 亚洲情A成黄在线观看动漫软件| 国产啪精品视频网免费| 亚洲av无码专区首页| 久久精品国产精品亚洲艾草网美妙| 成在人线av无码免费高潮喷水| 亚洲三级电影网站| 国产成人精品免费视频大| 亚洲精品国产av成拍色拍| 亚洲JIZZJIZZ中国少妇中文| 一级毛片免费不卡| 亚洲大尺度无码专区尤物| 国产精品视频免费观看| 亚洲色偷偷综合亚洲av78| 亚洲国产精品成人网址天堂| a级毛片免费高清毛片视频| 亚洲欧洲日韩综合| 四虎影库久免费视频| 国产日韩一区二区三免费高清| 91精品国产亚洲爽啪在线观看| 在线免费不卡视频| 国产午夜无码片免费| 亚洲永久在线观看| 亚洲欧洲日产国码av系列天堂| 野花高清在线观看免费完整版中文| 麻豆安全免费网址入口|