原創(chuàng)|使用教程|編輯:鄭恭琳|2016-05-27 10:38:31.000|閱讀 802 次
概述:今天我就為大家介紹一下如何使用ChartDirector繪制滿足自己要求的儀表盤,以及當(dāng)中涉及的中文問題。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
ChartDirector是一款使用方便快捷、功能非常強(qiáng)大且交互性強(qiáng)的通用Web圖表組件。在Web服務(wù)器以及嵌入式應(yīng)用程序開發(fā)中,ChartDirector是一個(gè)非常理想的圖表工具,因?yàn)樗鼡碛胸S富的圖表圖形組件庫。
對(duì)比我一直使用的JFreeChart來看呢,它的優(yōu)點(diǎn)就是圖表特別精細(xì),使用過JFreeChart的人可能會(huì)發(fā)現(xiàn)它所生成的圖表的文字邊緣有些模糊,顏色和顏色的分界也是如此,但是ChartDirector就沒有這個(gè)問題。
今天我就為大家介紹一下如何使用ChartDirector繪制滿足自己要求的儀表盤,以及當(dāng)中涉及的中文問題。
ChartDirector的文檔里面有一個(gè)儀表盤的實(shí)例,效果如下圖:
但是這個(gè)不符合自己的要求,需要做相應(yīng)的修改,要達(dá)到的效果如下圖:
實(shí)現(xiàn)代碼如下:
Java代碼
public void createChart(ChartViewer viewer,int index){ double value = 30.5; //創(chuàng)建一個(gè)AngularMeter對(duì)象,大小為200*115 //并設(shè)置背影顏色,后面的兩個(gè)參數(shù)是用來設(shè)置邊框顏色和大小的,這里不要邊框,所以去掉 AngularMeter m = new AngularMeter(200,115,0xffffff); m.setDefaultFonts("simsun.ttc"); //設(shè)置字體,不然中文出現(xiàn)亂碼 m.setRoundedFrame(); //設(shè)置儀表盤中心在(100,100),半徑為85像素,并且跨度在-90到+90 m.setMeter(100, 100, 85, -90, 90); //儀表盤的界限0到100,每個(gè)刻度以20為單位,較小的刻度以10為單位,最小的以5為刻度。 m.setScale(0, 100,20,10,5); //設(shè)置0-60為綠色(0X66FF66)區(qū)域,70到85為空白區(qū)域 m.addZone(0, 60,70,85,0x00aa00); // m.setBackground(0x333333,0x66ff66,4);//第一個(gè)參數(shù)設(shè)置背景顏色,第二個(gè)設(shè)置背景邊緣顏色,第三個(gè)設(shè)置陰影 //設(shè)置60-80為黃色(ffff33)區(qū)域 m.addZone(60, 80,70,85,0xcccc00); //設(shè)置80-100為紅色區(qū)域(ff6666) m.addZone(80, 100,70,85,0xaa0000); m.addZone(0, 100,70,70,0x000000);//在內(nèi)部顏色緣加一條黑色的線 //添加一個(gè)文本標(biāo)簽,使用12號(hào),Arial Bold字體 m.addText(100, 60,"中文","宋體",12,Chart.TextColor, Chart.Center); //添加一個(gè)文本標(biāo)簽在右上角用來顯示值,字體為Arial,字號(hào)為8,顏色為0xffffff //格式化為2位小數(shù),并使用黑色背景,1像素的3D陰影 m.addText(156,8, m.formatValue(value, "2"), "Arial",8,0xffffff).setBackground(0x000000, 0, -1); //添加指針,第一個(gè)參數(shù)是所在指向的位置,第二個(gè)和第三個(gè)是指針邊緣顏色和填充顏色,后面是設(shè)置指針在顏色的下方 //這里還可以設(shè)置指針的形狀,具體可以參考文檔里面的Multi-Pointer Angular Meter實(shí)例 m.addPointer(value, 0xffffff,0x000000).setZOrder(0x100); //輸出圖形 // String chart1URL = m.makeSession(request, "chart1"); viewer.setImage(m.makeImage()); }
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都控件網(wǎng)