易客

          Explore JAVA

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            4 隨筆 :: 1 文章 :: 52 評論 :: 0 Trackbacks

          2009年2月23日 #

          The Java Tutorials對想用JAVA語言開發(fā)應用程序的程序員來說是一本非常實用的手冊。它包含了上百個完整可運行的實例和很多教程。許多相關的教程也被編入了手冊中。


          目前SUN的最近更新在2009-5-27
          download
          posted @ 2009-07-15 07:48 y6cn 閱讀(339) | 評論 (0)編輯 收藏

          如果使用JfreeChart默認的聲明方式創(chuàng)建出來的圖表圖片上中文標題是方框或亂碼,這個不用說肯定和字體有關.接下來來看一下解決辦法.

          打開doc文件里的TextTitle類你會發(fā)現(xiàn)
           
          /** The default font. */
           
          public static final Font DEFAULT_FONT = new Font("SansSerif", Font.BOLD,12);


          JFreeChart里最后將你創(chuàng)建的實例傳給了另一個類的方法:currentTheme.apply(chart);

          找到theme的頂級類StandardChartTheme你會發(fā)現(xiàn)這個apply()方法,
          public void apply(JFreeChart chart) {
                      
          if (chart == null) {
                          
          throw new IllegalArgumentException("Null 'chart' argument.");
                      }
                      TextTitle title 
          = chart.getTitle();
                      
          if (title != null) {
                          title.setFont(
          this.extraLargeFont);  //------------在這里它將標題的字體設置成了事先定義好的字體,如下兩段代碼;
                          title.setPaint(this.titlePaint);
                      }


          123        private Font extraLargeFont;


          294        public StandardChartTheme(String name) {
          295            if (name == null) {
          296                throw new IllegalArgumentException("Null 'name' argument.");
          297            }
          298            this.name = name;
          299            this.extraLargeFont = new Font("Tahoma", Font.BOLD, 20); //在構造函數里將此字體設置成了"Tahoma"

          現(xiàn)在我們已經很清楚不能正確顯示中文的原因了,如何來解決呢?
          很簡單:

          JFreeChart chart=ChartFactory.createPieChart(titleString,pieDataset,true,true,false);
                  chart.getTitle().setFont(
          new Font("宋體", Font.BOLD,12));

          我們只要重新設置TextTitle的字體就行了.
          不過這種方法只適用于中文操作系統(tǒng),因為已經有中文字體了.要想在非中文系統(tǒng)上用怕是要在程序中帶上一個中文字體庫,然后再調用該字庫.
          posted @ 2009-02-23 14:17 y6cn 閱讀(3207) | 評論 (2)編輯 收藏

          主站蜘蛛池模板: 大化| 宁陵县| 扶余县| 石嘴山市| 吉安县| 西宁市| 金寨县| 丘北县| 普兰店市| 高唐县| 儋州市| 渝北区| 武胜县| 大庆市| 商河县| 鄂州市| 黑山县| 奉化市| 冀州市| 长治县| 体育| 凯里市| 汝南县| 长海县| 迁西县| 青神县| 桐庐县| 罗江县| 仙游县| 称多县| 襄垣县| 兴山县| 永善县| 通道| 延津县| 西充县| 万源市| 加查县| 中超| 靖州| 定边县|