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

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

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

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    Bea workshop 3.3出來了,連忙上網下載升級,文件不到170多M,用FlashGet很快就下載了。

    安裝后試用,發現Workshop Studio Facet Libraries全是空的,和以前的版本一樣需要聯網下載。從BEA的網站下載速度不敢恭維,巨慢無比,真讓能受不了!!

    Bea為什么不把facet libraries直接做到安裝文件中呢,擔心安裝包太大?大點沒有什么的。這點JB就做得很好,把需要的庫都做進光盤了,不需要你再去尋找下載。

    希望workshop下個版本能預裝些libraries!

    posted @ 2006-12-22 13:18 keith 閱讀(1296) | 評論 (3)編輯 收藏

    都市行 - 在線獲取注冊碼 (完全免費)

    序列號:
    E-mail:



    在線獲取注冊碼地址:http://www.dushixing.com.cn/other/reg.jsp

    posted @ 2006-12-15 10:43 keith| 編輯 收藏

    自都市行發布以來,得到了廣大網友的熱心支持。都市行1.2版開發工作基本完成,先發布個測試版供大家測試,如果沒有太大問題,正式版不久就和大家見面了,同時也會提供最新的數據。

    測試版中包括20個城市的測試數據(正式版發布會加入更多的城市數據):安慶,北京,長沙,成都,重慶,大連,佛山,廣州,杭州,濟南,昆明,南京,青島,上海,沈陽,深圳,蘇州,天津,武漢,烏魯木齊

    文件比較大,有八百多K,如果你的手機性能或空間有限可以用Winrar打開CityBus1.2Beta.jar,刪除不需要的城市數據(數據存放在bus\db\),例如刪除北京的數據,則刪除bus\db\BeiJing整個目錄就可以了。

    功能特點:
    ●提供多城市版本。(NEW)
    ●支持雙向數據(即分上下行)。(NEW)
    ●進一步優化數據加載方式,占用內存比上個版本小不少。(NEW)
    ●基于J2ME架構,大部分MIDP-2.0 CLDC-1.0/CLDC-1.1的手機都能使用。
    ●優化的數據結構,查詢更快。
    ●支持按線路查詢、過站查詢、換乘查詢。
    ●引入公交(地鐵)營運時間,可對不在班的線路進行過濾。

    系統要求:
     大部分MIDP-2.0 CLDC-1.0/CLDC-1.1的JAVA手機都可以使用。

    下載地址:
    1.2正式版已發布,測試版停止下載。

    posted @ 2006-12-15 10:41 keith 閱讀(6436) | 評論 (72)編輯 收藏

    使用JfreeChart開發圖表經驗總結(含源碼)
    Keith He  2005年10月27日


    最近,公司一項目要出很多的圖表。由于項目是B/S架構的,所以生成的圖表也要考慮能在瀏覽器上動態顯示。

    生成基于瀏覽器的圖表方式比較多。據我所知道的,常用的有三種:
    1、VML方式實現。這種方式是通過產生客戶端的代碼,由客戶端根據代碼生成相應的圖表。但這種方式產生的圖表有很多的局限性,如受限于瀏覽器,有些瀏覽器可能并不支持VML。另外,沒有封裝完整的圖表開發包。
    2、通過applet來產生圖表。這種方式也對客戶端要求比較高,必須要有JRE,而且通過applet生成的圖表在加載過程中會有個Java的Log動畫。用戶看了可能會感覺不太舒服。
    3、通過服務端直接生成圖表的圖片。這種方式對客戶端幾乎沒有什么要求,缺點是加重了服務端的負擔,對服務端要求就相對高了點。

    經過比較,根據項目自身特點,我們打算采用第三種方式來開發圖表。為了縮短開發周期、節約成本,我們選用了開源的JFreeChart(http://www.jfree.org/jfreechart/)。

    jfreechart是一個免費創建圖表的java工具,目前最新版本是JFreeChart-1.0.0-rc1。它可以生成各式各樣的圖表。這些圖表包括餅圖、柱狀圖、線形圖、區域圖、甘特圖等等,基本可以滿足各種項目的要求。但在開發過程中我也發現了JFreeChart的一些不足,或者說有些稱得上是BUG。總體說來,JFreeChart還是個優秀的開源項目。

    關于JFreeChart生成圖表的文章比較多了,我主要談談使用JFreeChart的一些比較棘手問題以及解決方法。同時也會將問題所用到的源碼(JFreeChart-1.0.0-rc1+Struts1.2.4)從項目中抽象出來一起提供給大家。

    一、 圖片上熱點鏈接中文亂碼的解決方法

    這個問題是在我查閱關于JFreeChart相關資料時出現頻率最高的一個問題。其實這個亂碼問題不能怪罪于JFreeChart。有人甚至就因此認為JFreeChart對中文支持不太完善,JFreeChart可要叫了:我是冤枉的!

    我們來找出問題產生的原因,這個問題也就不難解決了。

    首先查看一下出現問題頁面的Html源文件,你會發現在源文件的開頭多出了一段map代碼,代碼類似于這樣:

    <map id="chart-30928.png" name="chart-30928.png">
    <area shape="poly" coords="179,163,176,154,174,145" title="洗衣機=315(29.86%)" alt=""/>
    …………
    </map>

    <html>
    <head>
    …………


    這部分map代碼其實是JFreeChart產生的,是用來產生圖片上的熱點鏈接,這也是問題產生的根源所在。你的Jsp頁面通過<%@ page contentType="text/html; charset=UTF-8" %>或者<%@ page contentType="text/html; charset=GBK" %>來設置contentType這無可厚非,但map并不是由這個jsp頁面產生的。它是JFreeChart通過PrintWriter產生的。查看一下你生成圖片的Chart源碼,其中有ChartUtilities.writeImageMap(pw, filename, info, false)這樣的語句。這是用來向頁面寫入map代碼的。默認情況下,map代碼會以服務器默認編碼(ISO-8859-1)輸出。這就和你的Jsp編碼不一致,從而產生亂碼。

    原因找到了,問題也就不難解決的。設置PrintWriter的contentType與Jsp的contentType保存一致就可以了。代碼如下(筆者的Web應用是基于Struts框架的):

    //PieMothAciton.java

        
    public ActionForward execute(ActionMapping mapping, ActionForm form,
                HttpServletRequest request, HttpServletResponse response)
                
    throws Exception {    
            
            
    //設置輸出編碼格式
            response.setContentType("text/html;charset=UTF-8"); 
            PrintWriter out 
    = response.getWriter();
            
            …………
            
            String filename 
    = chart.generatePieChart3D("月統計比例圖"
                    session, out);
            
            String graphURL 
    = request.getContextPath() 
                    
    + "/servlet/DisplayChart?filename=" + filename;
            
            request.setAttribute(
    "filename",filename);
            request.setAttribute(
    "graphURL",graphURL);
            
            
    return mapping.findForward(SUCCESS);        
        }


    重新部署你的Web應用,中文亂碼文件就可以解決了。

    二、 餅圖顯示百分比

    在餅圖中JFreeChart默認只顯示選項和數值,沒有顯示各項所占比例。由于手頭沒有1.0版的JFreeChart Developer Guide(這可是要錢的,后來想想即使有,也未必能找到關于百分比這方面的說明),再加上DEMO中的餅圖都沒有顯示百分比,無法參考。后來在網上找到了一個老版本的例子,其中能顯示百分比。它是通過在PiePlot中設置的:

    PiePlot pie;
    pie.setPercentFormatString(
    "#,###0.0#%");

    但1.0版本中根本就找不到setPercentFormatString這方法,JFreeChart各版本之間改動比較大,很難兼容。還好它是開源的,把它的源碼都搜索了一遍,認真讀了一些源碼,終于理出了頭緒。

    原來在1.0.0-rc1版中顯示百分比已經調整到StandardPieItemLabelGenerator構造函數中了,StandardPieItemLabelGenerator有三個構造函數。StandardPieItemLabelGenerator()不顯示各項所占比例。另外兩個可以顯示比例。代碼如下:

    plot.setLabelGenerator(new StandardPieItemLabelGenerator(StandardPieItemLabelGenerator.DEFAULT_TOOLTIP_FORMAT));
    //或者采用下面自定義樣式顯示,{0}表示選項,{1}表示數值,{2}表示所占比例
    plot.setLegendLabelGenerator(new StandardPieItemLabelGenerator("{0}: ({1}M, {2})"));

    效果如下圖:



    默認顯示百分比是取整的,如果要讓百分比保留二位小數,可以用第三個構造函數:
    plot.setLabelGenerator(new StandardPieItemLabelGenerator(“{0}={1}({2})”,
                        NumberFormat.getNumberInstance(),
                        
    new DecimalFormat("0.00%")));

    效果如下圖:



    三、 混合圖表(不同類型的圖混合顯示)

    我們經常用的是柱狀圖、曲線圖、和餅圖,這三類型圖基本能滿足大部分項目的需求。但有些項目比較特殊,可能需要在一張圖上同時顯示不同類型的圖。這在JFreeChart中可以輕松實現。例如我們要做個流量監控的系統,該系統一天中在不同的時間段有不同的閥值(最大值),該閥值表示成階梯線。而實際流量就是個曲線了。當流量在某個時段內超過閥值時就觸發相應的事件(如限流)。要表示閥值和流量的對比關系就需要兩種類型的圖片在同一張圖表上表示,如下圖:



    首先像創建普通圖表一樣來創建圖片,筆者先創建了一個XYStep Chart。然后創建第二圖表的Renderer,再分別將第二圖表的Dataset、Renderer添加進第一圖表的plot。實例代碼如下:

    //MultipleChart.java

    JFreeChart jfreechart 
    = ChartFactory.createXYStepAreaChart("監控設置"
                    
    "時刻"
                    
    "流量"
                    xydataset, 
                    PlotOrientation.VERTICAL, 
                    
    true
                    
    true
                    
    false);
            
            XYPlot xyplot 
    = jfreechart.getXYPlot();

    …………

            
    //設置第二圖表的Renderer
            StandardXYItemRenderer standardxyitemrenderer = new StandardXYItemRenderer();
            standardxyitemrenderer.setToolTipGenerator(
    new StandardXYToolTipGenerator("{0}({1}) = {2}"
                    
    new SimpleDateFormat("HH:mm"), 
                    
    new DecimalFormat("#,##0")));        
            
            
    //將第二圖表的Dataset、Renderer添加進xyplot
            xyplot.setDataset(1, lineDataset);
            xyplot.setRenderer(
    1,standardxyitemrenderer); 


    這樣就創建了曲線和階梯的混合圖表。

    四、 其它問題

    1) 版本問題。
    JFreeChart的各版本變動比較大,這在升級版本時是比較頭疼的問題,升級時需要改動你代碼的地方可能比較多。因此盡量采用最新的版本,新版本的文檔可能比較少,但問題要相對少一些,在舊版中就出現過標注數值重疊在一起這樣的問題。好的是JFreeChart是開源的,碰到解決不了的問題可以從源碼中找到有參考價值的信息。

    2) 設置背景透明度的BUG
    不知道這是不是JFreeChart的一個BUG。利用chart.setBackgroundImageAlpha(0.5f)來設置背景透明度,ServletUtilities.saveChartAsPNG保存圖片。將chart.setBackgroundImageAlpha(0.5f)注釋掉再生成圖片,發現兩張圖片是一樣的。也就是說setBackgroundImageAlpha方法無效,具體原因筆者還不太清楚,讀者大家可以自己測試看看。

    以上是筆者在項目開發中總結出來的,希望大家多提寶貴意見!

    附源碼:JFeeChartProject_src.rar (鏈接已失效)

    posted @ 2006-10-25 17:08 keith 閱讀(19770) | 評論 (51)編輯 收藏

    下午,掏了10塊錢,塞到自動售貨機的投幣口。1秒鐘后退出來了,難道是假幣?
    不甘心,又試了5、6次,它都不認。
    仔細看了看那10塊錢,怎么也不像假幣,還特別新呢。
    我把錢揉了揉,展開,重新塞進去,居然認了~~
    “真賤!!”我說道。
    門衛聽了在一邊偷偷地笑!

    posted @ 2006-10-19 16:18 keith 閱讀(1323) | 評論 (5)編輯 收藏

    自都市行V1.1.0版推出后得到了廣大網友的熱心支持,給我提供了不少有用的建議,在這里謝謝大家!
    下個版本,也就是1.2版,都市行將做如下主要改進:

    1、提供多城市版本。
    2、支持雙向數據(即分上下行)。
    3、優化一下查詢方式,解決一些手機Heap-Size太小問題,但這樣會導致查詢速度下降。目前1.1版的查詢速度經測試還是相當快的。

    希望各位熱心網友給新版本多提些建議,謝謝!

    posted @ 2006-10-16 11:15 keith 閱讀(4564) | 評論 (28)編輯 收藏

    將都市行重新打包了一下,主要針對MIDP-2.0 CLDC-1.0的手機。如果是CLDC-1.1的手機安裝CLDC-1.0的程序會不會提示“版本無效”?趕興趣的朋友可以安裝CLDC-1.0版試試,告訴我一下能否正常安裝。至少我的N72(CLDC-1.1的)安裝CLDC-1.0的沒有問題。

    下載地址:
    1.2正式版已發布,本版本停止下載。

    posted @ 2006-10-16 10:39 keith 閱讀(5715) | 評論 (52)編輯 收藏

    2006年10月10日 感謝熱心網友醉解蘭舟提供了廣州數據,下載地址:
    http://www.tkk7.com/fastpace/archive/2006/10/08/73721.html

    posted @ 2006-10-10 16:03 keith 閱讀(307) | 評論 (3)編輯 收藏

    2006年10月9日 感謝熱心網友提供了蘇州數據,安裝文件已更新了。蘇州的朋友請到這里重新下載:http://www.tkk7.com/fastpace/archive/2006/10/08/73721.html

    posted @ 2006-10-09 10:08 keith 閱讀(2205) | 評論 (2)編輯 收藏

    目前的《都市行》數據是網上收集來的,難免有不全或錯誤的地方。如果您有新的數據文件,請通過本帖評論或者E-mail:fastpace@163.com(注意此處的@為中文@,發郵件時需要換成英文的@)提交給我。以便將《都市行》逐步完善!

    格式最好能提供如下格式,如果您整理起來比較困難,可以發給我來整理,但希望數據能整齊點,便于整理。可以是EXCEL、數據庫、文本等等。

    謝謝!

    附數據文件格式:
    ###########################################################
    #?格式:線路名稱|運營時間|備注?
    =?站點1,站點2,......
    #?對營運時間說明:*表示不考慮,
    00:00-24:00表示24小時營運
    #?營運時間必須是xx:xx-xx:xx格式
    #
    #?$城市名稱
    ###########################################################


    $北京

    001路|
    5:00-7:00|?=?馬官營,六里橋北里,公主墳南站,公主墳,軍事博物館,木樨地,工會大樓,南禮士路,復興門,西單,中山公園,天安門,東單,北京站口,日壇路,永安里,大北窯,郎家園,八王墳,四惠站
    001路區間車|*|?
    =?公主墳,軍事博物館,木樨地,工會大樓,禮士路,復興門,西單,中山公園,天安門,東單,北京站口,日壇路,永安里,大北窯,郎家園
    002路|
    5:00-7:00|?=?海戶屯,木樨園,沙子口,永定門,天橋,大柵欄,前門,天安門,東華門,婦產醫院,沙灘,寬街
    004路|
    5:00-6:00|5:00-6:00?=?靛廠新村,靛廠,吳家村路,馬官營,馬官營東站,六里橋北里,公主墳南站,公主墳,軍事博物館,木樨地,工會大樓,南禮士路,復興門,西單,中山公園,天安門,東單,北京站口,日壇路,永安里,大北窯,郎家園,八王墳,四惠站
    005路|
    5:00-5:20|5:00-5:20?=?德勝門,德勝門南站,果子市,甘水橋,鑄鐘廠,鼓樓(東城),地安門,景山后街,西板橋,北海,西華門,南長街,前門北站,前門,珠市口,板章路,虎坊橋西,果子巷,菜市口,牛街,廣安門,廣安門南站,椿樹館街,鴨子橋北里,菜戶營北,菜戶營
    006路|
    0:20-2:40|全程1元(部分車不停關廂)?=?麗澤橋,西局,六里橋南里,六里橋,蓮花池(北京西站),灣子,甘石橋(廣安門外),達官營,關廂,廣安門,牛街,菜市口,果子巷,虎坊橋,永安路,友誼醫院,天橋,金魚池,天壇北門,紅橋,法華寺,體育館西路,北京體育館,北京游樂園

    posted @ 2006-10-08 14:24 keith 閱讀(3637) | 評論 (24)編輯 收藏

    僅列出標題
    共4頁: 上一頁 1 2 3 4 下一頁 
    主站蜘蛛池模板: 在线免费视频一区二区| 美国毛片亚洲社区在线观看| 成人片黄网站色大片免费观看APP| 全亚洲最新黄色特级网站 | 国产成人免费高清在线观看| 在线综合亚洲欧洲综合网站| 成年美女黄网站色大免费视频| 亚洲香蕉在线观看| 好吊妞视频免费视频| 在线观看亚洲视频| 亚洲综合精品网站| 波多野结衣免费一区视频| 久久久久久a亚洲欧洲AV| 亚洲一区二区三区免费观看| 亚洲一卡二卡三卡四卡无卡麻豆| 成熟女人特级毛片www免费| 国产精品亚洲综合一区在线观看| 免费一级肉体全黄毛片| 中文字幕免费观看视频| 亚洲综合在线视频| 在线免费观看一级毛片| 一级做a爱过程免费视频高清| 国产亚洲精品a在线观看app| 曰批全过程免费视频播放网站| 亚洲综合无码一区二区痴汉 | 国产成人久久AV免费| 911精品国产亚洲日本美国韩国| 国产精品永久免费10000| 国产精品亚洲一区二区在线观看| 中文字幕精品无码亚洲字| 日韩免费无码一区二区三区| 亚洲高清一区二区三区| 亚洲av片一区二区三区| 日韩免费的视频在线观看香蕉| 亚洲欧洲日韩国产一区二区三区| 亚洲国产精品无码久久久久久曰| 成全视频免费观看在线看| 91亚洲性爱在线视频| 精品国产人成亚洲区| 一个人免费观看视频www| 久久久精品国产亚洲成人满18免费网站|