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

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

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

    雙面 for Java

    Find Myself.Be Myself

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      3 隨筆 :: 6 文章 :: 18 評(píng)論 :: 0 Trackbacks
    一、JFreeChart獲取。
    ????????JFreeChart是JFreeChart公司在開源網(wǎng)站SourceForge.net上的一個(gè)項(xiàng)目,該公司的主要產(chǎn)品有如下:
    ????????1、JFreeReport:報(bào)表解決工具
    ????????2、JFreeChart:Java圖形解決方案(Application/Applet/Servlet/Jsp)
    ????????3、JCommon:JFreeReport和JFreeChart的公共類庫(kù)
    ????????4、JFreeDesigner:JFreeReport的報(bào)表設(shè)計(jì)工具

    ????我們可以從jfree官方網(wǎng)站上獲取最新版本和相關(guān)資料(但是jfree的document需要40美金才能獲取),
    ????獲取地址:
    http://www.jfree.org/jfreechart/index.html (同時(shí)可以獲得簡(jiǎn)明介紹)
    ????我們以當(dāng)前最新版本:jfreechart_0.9.21.zip為例子進(jìn)行說明。

    二、JFreeChart配置安裝
    ????1、解壓jfreechart_0.9.21.zip到指定位置,其中source是jfreechart的源碼,jfreechart-0.9.21-demo.jar
    ???????是例子程序(該部分留給大家自己去研究)
    ????2、為了配置成功,我們需要關(guān)注的文件有如下三個(gè):jfreechart-0.9.21.jar、lib\jcommon-0.9.6.jar、
    ???????lib\gnujaxp.jar
    ????3、如果是Application開發(fā),把上述三個(gè)文件拷貝到%JAVA_HOME%\LIB中,同時(shí)在環(huán)境變量CLASSPATH中加入
    ???????如果是WEB開發(fā),以TOMCAT中的一個(gè)WEB項(xiàng)目TEST為例子說明:
    ???????把上述三個(gè)文件拷貝到TEST\WEB-INF\LIB中,然后修改TEST\WEB-INF\web.xml文件,在其中加入如下代碼:
    1<servlet>
    2??<servlet-name>DisplayChart</servlet-name>
    3??<servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
    4</servlet>
    5<servlet-mapping>
    6??<servlet-name>DisplayChart</servlet-name>
    7??<url-pattern>/servlet/DisplayChart</url-pattern>
    8</servlet-mapping>

    ???????至此jfreechart的配置就完成了,下面就可以進(jìn)行jfreechart的開發(fā)了。這里值得提出的是jfreechart的類
    ???????結(jié)構(gòu)設(shè)計(jì)前后兼容性不是很好,不同版本的jfreechart中類庫(kù)結(jié)構(gòu)可能不一樣,有時(shí)候可能需要查源碼。如果
    ???????是中文顯示的時(shí)候可能依據(jù)觀感需要改變?cè)创a的字體,不過我個(gè)人覺得這個(gè)版本比以前版本要好一些。

    三、JFreeChart功能介紹
    ????JFreeChart目前是最好的java圖形解決方案,基本能夠解決目前的圖形方面的需求,主要包括如下幾個(gè)方面:
    ????pie?charts?(2D?and?3D):餅圖(平面和立體)
    ????bar?charts?(regular?and?stacked,?with?an?optional?3D?effect):柱狀圖
    ????line?and?area?charts:曲線圖
    ????scatter?plots?and?bubble?charts
    ????time?series,?high/low/open/close?charts?and?candle?stick?charts:時(shí)序圖
    ????combination?charts:復(fù)合圖
    ????Pareto?charts
    ????Gantt?charts:甘特圖
    ????wind?plots,?meter?charts?and?symbol?charts
    ????wafer?map?charts
    ????(態(tài)圖表,餅圖(二維和三維)?,?柱狀圖?(水平,垂直),線圖,點(diǎn)圖,時(shí)間變化圖,甘特圖,?股票行情圖,混和圖,?溫度計(jì)圖,?刻度圖等常用商用圖表)
    ????圖形可以導(dǎo)出成PNG和JPEG格式,同時(shí)還可以與PDF和EXCEL關(guān)聯(lián)
    ????
    ????JFreeChart核心類庫(kù)介紹:
    ????????????研究jfreechart源碼發(fā)現(xiàn)源碼的主要由兩個(gè)大的包組成:org.jfree.chart,org.jfree.data。其中前者主要與圖形
    ????本身有關(guān),后者與圖形顯示的數(shù)據(jù)有關(guān)。具體研究如果大家有興趣的話可以自己研究,以后有時(shí)間我會(huì)告訴大家怎么去
    ????研究源碼。
    ?????????核心類主要有:
    ???????????org.jfree.chart.JFreeChart:圖表對(duì)象,任何類型的圖表的最終表現(xiàn)形式都是在該對(duì)象進(jìn)行一些屬性的定制。JFreeChart引擎本身提供了一個(gè)工廠類用于創(chuàng)建不同類型的圖表對(duì)象
    ???????????org.jfree.data.category.XXXDataSet:數(shù)據(jù)集對(duì)象,用于提供顯示圖表所用的數(shù)據(jù)。根據(jù)不同類型的圖表對(duì)應(yīng)著很多類型的數(shù)據(jù)集對(duì)象類
    ???????????org.jfree.chart.plot.XXXPlot:圖表區(qū)域?qū)ο螅旧线@個(gè)對(duì)象決定著什么樣式的圖表,創(chuàng)建該對(duì)象的時(shí)候需要Axis、Renderer以及數(shù)據(jù)集對(duì)象的支持
    ???????????org.jfree.chart.axis.XXXAxis:用于處理圖表的兩個(gè)軸:縱軸和橫軸
    ???????????org.jfree.chart.render.XXXRender:負(fù)責(zé)如何顯示一個(gè)圖表對(duì)象
    ???????????org.jfree.chart.urls.XXXURLGenerator:用于生成Web圖表中每個(gè)項(xiàng)目的鼠標(biāo)點(diǎn)擊鏈接
    ???????????XXXXXToolTipGenerator:用于生成圖象的幫助提示,不同類型圖表對(duì)應(yīng)不同類型的工具提示類
    ????
    四、JFreeChart開發(fā)(Application/Applet)
    1、pie?charts,代碼如下
    ?1/**
    ?2?*?Description:This?application?is?the?first?jfreechart
    ?3?*?Datetime:20058-02-11
    ?4?*/

    ?5package?demo;
    ?6
    ?7import?org.jfree.chart.JFreeChart;
    ?8import?org.jfree.chart.ChartFactory;
    ?9import?org.jfree.chart.ChartFrame;
    10import?org.jfree.data.general.DefaultPieDataset;
    11
    12public?class?FirstJFreeChart?{
    13??public?FirstJFreeChart()?{
    14??}

    15??
    16??public?static?void?main(String[]?args){
    17????DefaultPieDataset?dpd?=?new?DefaultPieDataset();
    18????dpd.setValue("管理人員",25);
    19????dpd.setValue("市場(chǎng)人員",25);
    20????dpd.setValue("開發(fā)人員",45);
    21????dpd.setValue("其他人員",5);
    22????
    23????//Create?JFreeChart?object
    24????//參數(shù)可以查看源碼
    25????JFreeChart?pieChart?=?ChartFactory.createPieChart("CityInfoPort公司組織架構(gòu)圖",dpd,true,true,false);
    26????ChartFrame?pieFrame?=?new?ChartFrame("CityInfoPort公司組織架構(gòu)圖",pieChart);
    27????pieFrame.pack();
    28????pieFrame.setVisible(true);
    29??}

    30}

    31

    上面例子可以進(jìn)一步改進(jìn),如下:
    ?1/**
    ?2?*?Description:This?application?is?the?first?jfreechart
    ?3?*?Datetime:20058-02-11
    ?4?*/

    ?5package?com.cityinforport.demo;
    ?6
    ?7import?org.jfree.chart.JFreeChart;
    ?8import?org.jfree.chart.ChartPanel;
    ?9import?org.jfree.chart.ChartFactory;
    10import?org.jfree.chart.ChartFrame;
    11import?org.jfree.data.general.DefaultPieDataset;
    12import?org.jfree.chart.plot.PiePlot;
    13import?org.jfree.data.general.PieDataset;
    14import?org.jfree.ui.ApplicationFrame;
    15import?org.jfree.ui.RefineryUtilities;
    16import?java.awt.Font;
    17import?javax.swing.*;
    18
    19
    20public?class?FirstJFreeChart?extends?ApplicationFrame?{
    21??//構(gòu)造函數(shù)
    22??public?FirstJFreeChart(String?s){
    23????super(s);
    24????setContentPane(createDemoPanel());
    25??}

    26??
    27??public?static?void?main(String[]?args){
    28????FirstJFreeChart?fjc?=?new?FirstJFreeChart("CityInfoPort公司組織架構(gòu)圖");
    29????fjc.pack();
    30????RefineryUtilities.centerFrameOnScreen(fjc);
    31????fjc.setVisible(true);
    32??}

    33??
    34??//生成餅圖數(shù)據(jù)集對(duì)象
    35??public?static?PieDataset?createDataset(){
    36????DefaultPieDataset?defaultpiedataset?=?new?DefaultPieDataset();
    37????defaultpiedataset.setValue("管理人員",10.02D);
    38????defaultpiedataset.setValue("市場(chǎng)人員",20.23D);
    39????defaultpiedataset.setValue("開發(fā)人員",60.02D);
    40????defaultpiedataset.setValue("OEM人員",10.02D);
    41????defaultpiedataset.setValue("其他人員",5.11D);
    42????
    43????return?defaultpiedataset;
    44??}

    45??
    46??//生成圖表主對(duì)象JFreeChart
    47??public?static?JFreeChart?createChart(PieDataset?piedataset){
    48????//定義圖表對(duì)象
    49????JFreeChart?jfreechart?=?ChartFactory.createPieChart("CityInfoPort公司組織架構(gòu)圖",piedataset,true,true,false);
    50????//獲得圖表顯示對(duì)象
    51????PiePlot?pieplot?=?(PiePlot)jfreechart.getPlot();
    52????//設(shè)置圖表標(biāo)簽字體
    53????pieplot.setLabelFont(new?Font("SansSerif",Font.BOLD,12));
    54????pieplot.setNoDataMessage("No?data?available");
    55????pieplot.setCircular(true);
    56????pieplot.setLabelGap(0.01D);//間距
    57????
    58????return?jfreechart;
    59??}

    60??
    61??//生成顯示圖表的面板
    62??public?static?JPanel?createDemoPanel(){
    63????JFreeChart?jfreechart?=?createChart(createDataset());
    64????return?new?ChartPanel(jfreechart);
    65??}

    66??
    67}

    68
    posted on 2006-08-07 09:46 雙面人 QQ:147670662 閱讀(524) 評(píng)論(0)  編輯  收藏 所屬分類: 網(wǎng)上收集
    主站蜘蛛池模板: 色天使色婷婷在线影院亚洲| 午夜色a大片在线观看免费| 亚洲性无码一区二区三区| 亚洲美女又黄又爽在线观看| 日韩免费高清一级毛片在线| 日本黄网站动漫视频免费| 国产黄片不卡免费| 毛片亚洲AV无码精品国产午夜| 亚洲综合一区二区精品久久| 亚洲AV无码专区电影在线观看| 亚洲人成网站18禁止一区| 日本一线a视频免费观看| 免费看国产精品3a黄的视频| 国产免费不卡视频| 最新黄色免费网站| 亚洲精品免费观看| 人人玩人人添人人澡免费| 丰满人妻一区二区三区免费视频| 鲁啊鲁在线视频免费播放| 亚洲Aⅴ在线无码播放毛片一线天 亚洲avav天堂av在线网毛片 | 免费一级毛片清高播放| 免费精品人在线二线三线区别| 曰批全过程免费视频网址| 亚洲免费观看视频| 你懂的网址免费国产| 久久久受www免费人成| 一级特级aaaa毛片免费观看| 一级毛片在线完整免费观看| 一级毛片在播放免费| 久久国产精品免费一区二区三区| 无码毛片一区二区三区视频免费播放| 婷婷国产偷v国产偷v亚洲| 美女视频黄频a免费观看| 国产精品久久久久久亚洲小说| 亚洲乱亚洲乱妇无码| 亚洲AV无码一区二区大桥未久| 亚洲日韩国产二区无码 | 成年大片免费视频| 女人张开腿给人桶免费视频 | 亚洲成年网站在线观看| 亚洲综合小说另类图片动图|