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

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

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

    飛艷小屋

    程序--人生--哲學(xué)___________________歡迎艷兒的加入

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

    下面我們來介紹jFreeChart產(chǎn)生圖形的流程。
    首先我們要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)源(dataset)來顯示在圖形的數(shù)據(jù),然后我們要?jiǎng)?chuàng)建一個(gè)jFreeChart的對(duì)象來顯示圖形界面,最后我們就可以輸出圖形了。


    有了上面的基本知識(shí)我們以餅狀圖為例子來做一個(gè)詳細(xì)的說明:
    一、創(chuàng)建數(shù)據(jù)源
    餅圖的dataset 一般是用PieDataset 接口,具體實(shí)現(xiàn)類是 DefaultPieDataset
    DefaultPieDataset defaultpiedataset = new DefaultPieDataset();
    defaultpiedataset.setValue(java.lang.Comparable key, double value);
    備注:第一個(gè)參數(shù)傳的是在圖形上面顯示數(shù)據(jù)的標(biāo)題,第二個(gè)參數(shù)傳的是在圖形中所占比例的值,一般在實(shí)際的工程中這些數(shù)據(jù)從數(shù)據(jù)庫(kù)中提取的相關(guān)的值和數(shù)據(jù),但是要注意的是要進(jìn)行數(shù)據(jù)類型的轉(zhuǎn)換哦。這里給出我在做項(xiàng)目過程中的一段小代碼以供參考:
    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());
    }
    備注:把所查詢的結(jié)果集放到一個(gè)容器中如Vector、Hashtable等然后在頁(yè)面上直接循環(huán)賦值就可以了,這要看實(shí)際的情況來定。

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

    有了圖形還不行,我們還要將圖形生成JPEG格式的圖片,還好了JFreeChart 給我們提供了是現(xiàn)的方法我們直接調(diào)用就可以了
    String filename=ChartUtilities.writeChartAsJPEG(java.io.OutputStream out,
    float quanlity, JFreeChart chart, int width, int height);
    其中參數(shù)包括:設(shè)置生成圖片,包括圖片的大小,長(zhǎng)度,寬度等參數(shù)。
    我們得要一個(gè)輸出流,把生成的文件寫到指定的位置,當(dāng)然了我們?cè)谧x取圖片的時(shí)候必須要獲得圖片的路徑。所以在輸出圖片的同時(shí)我們要想方設(shè)法把路徑存放下來。
    String URL=request.getContextPath()+"/servlet/DisplayChart?filename="+文件名稱;
    以上只是使用到的一些基礎(chǔ)的方法,別的圖形使用方法都是類似的我們可以參照它提供的API來生成不同的圖片。
    posted on 2006-08-21 15:13 天外飛仙 閱讀(1280) 評(píng)論(0)  編輯  收藏

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 91成人免费观看网站| 亚洲精选在线观看| 青苹果乐园免费高清在线| 国产高清对白在线观看免费91| 亚洲人成www在线播放| 亚洲成a人片在线观看无码专区| 免费A级毛片无码A| 97人妻无码一区二区精品免费| 国产羞羞的视频在线观看免费| 无码精品人妻一区二区三区免费| 亚洲精品无码专区在线播放| 亚洲白色白色在线播放| 亚洲AV人无码激艳猛片| 亚洲精品成人片在线观看精品字幕| 国产99视频精品免费视频7| 青青青免费国产在线视频小草| 最近免费中文字幕大全高清大全1| 久久九九久精品国产免费直播| 在线观看免费亚洲| 亚洲欧美aⅴ在线资源| 久久久久se色偷偷亚洲精品av| 亚洲香蕉免费有线视频| 亚洲AV无码第一区二区三区| 亚洲乱色熟女一区二区三区丝袜| 国产精品亚洲产品一区二区三区| 国产精品免费看香蕉| 全免费a级毛片免费**视频| 最新猫咪www免费人成| 在线观看无码AV网站永久免费| 18观看免费永久视频| 99在线观看视频免费| 久久久国产精品无码免费专区| 成全视频在线观看免费| 99久久成人国产精品免费| 黄色网站软件app在线观看免费| 久久www免费人成精品香蕉| 国产在线观a免费观看| 青柠影视在线观看免费| 久久久久久久岛国免费播放| 91在线手机精品免费观看| 永久看日本大片免费35分钟|