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);
}
} 本文由用戶 林上夕下 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!