如果使用jfreechart預設的宣告方式建立出來的圖表上中文標題是方框或亂碼,這個不用說肯定和字型有關.接下來來看一下解決辦法.
開啟doc檔案裡的texttitle類你會發現
/**the default font.
*/public
static
final
font default_font
=new
font(
"sansserif
", font.bold,
12);
public
void
if(chart
==null
) texttitle title
=chart.gettitle();
if(title
!=null)
123private
font extralargefont;
294public
standardcharttheme(string name)
298this
.name
=name;
299this
.extralargefont
=new
font(
"tahoma
", font.bold,
20);
//在建構函式裡將此字型設定成了"tahoma"
現在我們已經很清楚不能正確顯示中文的原因了,如何來解決呢?
很簡單:
jfreechart chart
=chartfactory.createpiechart(titlestring,piedataset,
true
,true
,false
);chart.gettitle().setfont(
newfont("宋體
", font.bold,
12));
我們只要重新設定texttitle的字型就行了.
不過這種方法只適用於中文作業系統,因為已經有中文字型了.要想在非中文系統上用怕是要在程式中帶上乙個中文字型庫,然後再呼叫該字型檔.
jfreechart亂碼問題
生成中需要顯示中文,但是中文會有亂碼問題,網上找了下,設定一下字型就沒事了,原因不清楚。柱狀圖 categoryplot categoryplot plot chart.getcategoryplot 獲取圖表區域物件 categoryaxis domainaxis plot.getdomainax...
JfreeChart 解決中文亂碼問題
中文亂碼的解決方案 由於jfreechart元件的版本 操作平台 jdk的設定等因素,在使用jfreechart元件時可能會出現中文亂碼的現象。遇到此問題時,可通過設定亂碼文字的字型來解決。在此提供以下兩種解決此問題的方法。設定主題樣式 在製圖前,建立主題樣式並指定樣式中的字型,通過chartfac...
解決JfreeChart中文亂碼問題
jfreechart中文亂碼問題一直困擾很多的朋友,我學習得時候也一樣,下面幾段 可以用來解決這個問題。texttitle texttitle chart.gettitle texttitle.setfont new font 宋體 font.bold,20 legendtitle legend c...