jfreechar-中文亂碼-設置字體解決
/** * @Title:JfreeChartOne.java * @Package:cn.sh.jfreechar.test * @Description:TODO * @author:Administrator * @date:2012-2-22下午04:31:09 * @version V1.0 * */ package cn.sh.jfreechar.test; import java.awt.Font; import javax.swing.JPanel; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartPanel; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PiePlot; import org.jfree.chart.title.LegendTitle; import org.jfree.chart.title.TextTitle; import org.jfree.data.general.DefaultPieDataset; import org.jfree.data.general.PieDataset; import org.jfree.ui.ApplicationFrame; /** * 餅圖-亂碼處理-通過設置字體 解決 * @ClassName:JfreeChartOne * @Description:TODO * @author: Administrator * @date:2012-2-22下午04:35:30 */ public class JfreeChartOne extends ApplicationFrame { private static final long serialVersionUID = 1L; public JfreeChartOne(String s){ super(s); setContentPane(createJPanel()); } public static void main(String[] args) { JfreeChartOne one = new JfreeChartOne("CityInfoPort公司組織架構圖"); one.pack(); one.setVisible(true); } /** * 利用靜態方法設定數據源(餅狀圖) */ public static PieDataset createPieDataset() { DefaultPieDataset defaultpiedataset = new DefaultPieDataset(); defaultpiedataset.setValue("管理人員", 10.02D); defaultpiedataset.setValue("市場人員", 20.23D); defaultpiedataset.setValue("開發人員", 60.02D); defaultpiedataset.setValue("OEM人員", 10.02D); defaultpiedataset.setValue("其他人員", 5.11D); return defaultpiedataset; } /** * 通過ChartFactory創建JFreeChart的實例 */ public static JFreeChart createJFreeChart(PieDataset p){ JFreeChart a = ChartFactory.createPieChart( "CityInfoPort公司組織架構圖", p, true, true, true ); // JFreeChart主要由三個部分構成:title(標題),legend(圖釋),plot(圖表主體)。 //三個部分設置字體的方法分別如下: TextTitle textTitle = a.getTitle(); textTitle.setFont(new Font("宋體", Font.BOLD, 20)); LegendTitle legend = a.getLegend(); if (legend != null) { legend.setItemFont(new Font("宋體", Font.BOLD, 20)); } PiePlot pie = (PiePlot) a.getPlot(); pie.setLabelFont(new Font("宋體", Font.BOLD, 12)); pie.setNoDataMessage("No data available"); pie.setCircular(true); pie.setLabelGap(0.01D);// 間距 return a; } public static JPanel createJPanel() { JFreeChart jfreechart = createJFreeChart(createPieDataset()); return new ChartPanel(jfreechart); } }
本文由用戶 林上夕下 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!