昨天晚上接觸JFreeChart覺得這東西很好用,
所以下載資源包試著去編譯。其中也遇到點困難。
進不了sourceforge這是極度郁悶的事情,還好csdn上有下,
第一次接觸,出問題是很正常的事。尤其是中文字體不顯示的問題,
今天早上一早就來處理這個問題,以下是我的代碼及注釋
1
package com.test.jfree;
2
3
import java.awt.Font;
4
import java.io.FileNotFoundException;
5
import java.io.FileOutputStream;
6
import java.io.IOException;
7
8
import org.jfree.chart.ChartFactory;
9
import org.jfree.chart.ChartFrame;
10
import org.jfree.chart.ChartUtilities;
11
import org.jfree.chart.JFreeChart;
12
import org.jfree.chart.plot.PiePlot;
13
import org.jfree.chart.title.LegendTitle;
14
import org.jfree.chart.title.TextTitle;
15
import org.jfree.data.general.DefaultPieDataset;
16
17
public class JFreeChartTest
{
18
public static void main(String[] args)
{
19
DefaultPieDataset dpd = new DefaultPieDataset();
20
dpd.setValue("人事部", 15);
21
dpd.setValue("市場部", 20);
22
dpd.setValue("物流部", 21);
23
dpd.setValue("開發(fā)部", 16);
24
25
JFreeChart chart = ChartFactory.createPieChart("公司人員信息", dpd, true,
26
true, false);
27
// 設置標題文字,并將其字體設置 此處為圖片正上方文字
28
chart.setTitle(new TextTitle("公司人員信息",new Font("黑體",Font.BOLD,16)));
29
// 取得統(tǒng)一表的第一個圖列
30
LegendTitle legend = chart.getLegend(0);
31
// 修改圖例字體
32
legend.setItemFont(new Font("宋體",Font.BOLD,14));
33
// 取得餅圖plot對象
34
PiePlot plot = (PiePlot)chart.getPlot();
35
// 設置餅圖各部分標簽字體
36
plot.setLabelFont(new Font("隸書",Font.ITALIC,20));
37
// 設置標題文字
38
// 以下是顯示
39
ChartFrame chartFrame = new ChartFrame("公司人員信息", chart);
40
chartFrame.pack();
41
chartFrame.setVisible(true);
42
43
// 以下是作為jpg文件寫入到c盤根目錄下
44
try
{
45
FileOutputStream fos = new FileOutputStream("c:\\test.jpg");
46
ChartUtilities.writeChartAsJPEG(fos,chart,300,400);
47
fos.close();
48
} catch (FileNotFoundException e)
{
49
e.printStackTrace();
50
} catch (IOException e)
{
51
e.printStackTrace();
52
}
53
}
54
}
需要增加的兩個外部jar包,jcommon和jfreechart。