構(gòu)件技術(shù)專欄
上一期我們介紹了構(gòu)件技術(shù)的基礎(chǔ)知識(shí)和ILOG公司產(chǎn)品JViews的簡(jiǎn)單介紹,這一期我們來(lái)深入了解JViews的技術(shù),并通過(guò)一兩個(gè)例子來(lái)闡述我們?nèi)绾卫孟冗M(jìn)的構(gòu)件簡(jiǎn)單快速的開發(fā)出高性能、專業(yè)級(jí)的動(dòng)態(tài)交互圖形界面。
這一期主要內(nèi)容:JViews的Diagrammer和Charts;下一期我們將介紹JViews的Maps和Gantt。通過(guò)本期和下期的介紹,讀者應(yīng)該能熟悉地利用JViews構(gòu)件輕松地進(jìn)行開發(fā)應(yīng)用,能夠很快的構(gòu)造出各種各樣的圖形界面來(lái),在應(yīng)用程序、WEB客戶端自由使用。
第二期 JViews 技術(shù)介紹:Charts和 Diagrammer
上一期簡(jiǎn)單介紹中講到,JViews Charts可以顯示種類繁多的圖表格式,包括二維點(diǎn)圖(2D point),折線圖(line),條形圖(bar),堆疊圖(stacked),氣泡圖(bubble),區(qū)域圖(area),高低點(diǎn)連線圖(high/low),柱狀圖(candle),雷達(dá)圖(radar),極坐標(biāo)圖(polar)和餅狀圖(pie)等。Charts實(shí)現(xiàn)了類Swing組件模型的視圖控制器(MVC)框架,明確的分離了數(shù)據(jù)與表示。數(shù)據(jù)模型是完全開放和可擴(kuò)展的,并能與其它應(yīng)用組件相連。更新通信機(jī)制是自動(dòng)的,透明的。當(dāng)數(shù)據(jù)模型變化時(shí),圖表也被更新;當(dāng)用戶改變圖表時(shí),數(shù)據(jù)模型也產(chǎn)生變化。
這部分我們就來(lái)深入分析Charts的概念、特征、功能和典型應(yīng)用:
(一) 基本介紹,介紹JViews Charts的各個(gè)特征和它的典型用途。
(二) 基本概念,介紹了JViews Charts中各種要素的基本概念。
(三) 一般框架,展示了一般框架和JViews Charts的主要構(gòu)件。
(四) 應(yīng)用開發(fā),介紹設(shè)計(jì)工具,它是一個(gè)GUI應(yīng)用程序,包括可以被用來(lái)不用寫代碼就建立不同的圖形構(gòu)件,以及使用java API擴(kuò)展圖表構(gòu)件的SDK。
(一)基本介紹
這部分將向您介紹Charts的各個(gè)特征,并說(shuō)明該產(chǎn)品的特征和它的典型用途。
什么是Charts:
圖表(Charts)使用不同的形式(標(biāo)記,線段,條形等等)用圖形化的方式展現(xiàn)數(shù)據(jù),用刻度來(lái)表示被展現(xiàn)數(shù)據(jù)的值。
Charts使用圖表展示數(shù)據(jù),并可以自己定義各種方式,以及在圖表中加入各種交互方式。Charts被設(shè)計(jì)成擁有最優(yōu)性能和清楚的對(duì)象結(jié)構(gòu),它是處理大量和(或)動(dòng)態(tài)數(shù)據(jù)模型——比如實(shí)時(shí)監(jiān)控系統(tǒng)——的最佳解決方案。
Charts提供廣泛的顯示類型:
? 標(biāo)準(zhǔn)的笛卡兒圖表。數(shù)據(jù)用笛卡兒坐標(biāo)系統(tǒng)進(jìn)行顯示,X軸和Y軸分別用水平軸和豎直軸表示,刻度是矩形的,并且成直角。
(笛卡兒圖表) (極坐標(biāo)圖表) (雷達(dá)圖表)
? 極坐標(biāo)圖表用圓形顯示數(shù)據(jù)。數(shù)據(jù)用極坐標(biāo)系統(tǒng)進(jìn)行顯示,橫坐標(biāo)的值在圓上顯示刻度,縱坐標(biāo)的值是矩形的,呈放射狀排列。
? 雷達(dá)圖表。雷達(dá)圖表能夠把各個(gè)數(shù)據(jù)相關(guān)起來(lái)看,并且進(jìn)行多種類型的比較。在雷達(dá)圖表中,每個(gè)類型的數(shù)值都有其自己的坐標(biāo)軸,從中心點(diǎn)放射出來(lái)。同一個(gè)系列的數(shù)值用線條連接起來(lái)。
? 氣泡狀圖,代表了一定離散曲線的表現(xiàn)。
? 高低值圖,展現(xiàn)用高低值顯示兩個(gè)數(shù)據(jù)集,并定義了上升風(fēng)格(高值比低值大)和下降風(fēng)格(高值比低值小)。
(氣泡狀圖) (高低值圖)
靜態(tài)和動(dòng)態(tài)圖表
圖表可以是靜態(tài)的,就是說(shuō)當(dāng)它被顯示的時(shí)候在外觀上是不變化的;也可以是動(dòng)態(tài)的,就是說(shuō)隨著用戶的動(dòng)作或外部數(shù)據(jù)的變化而變化。
主要特征
Charts具有如下特征:
? 功能完全的API。
? 最優(yōu)性能以及清楚的對(duì)象結(jié)構(gòu)。
? 廣泛的顯示類型:折線,條形,區(qū)域,氣泡,高低值,散點(diǎn),梯形,組合圖。
? 方便地定制。
? 數(shù)據(jù)和其圖形顯示的明確區(qū)分。
? 數(shù)據(jù)相關(guān)的圖表。
? 用級(jí)聯(lián)樣式表(CSS)動(dòng)態(tài)控制顯示的外觀。
? 和任何支持Swing的Java應(yīng)用程序整合。
? Java Beans集,可以在你習(xí)慣的IDE中使用。
? 在給定的坐標(biāo)軸上進(jìn)行坐標(biāo)變換。變化可以是線性的,也可以是非線性的。
? 按需導(dǎo)入。按需導(dǎo)入機(jī)制使你能夠在海量的數(shù)據(jù)集中,通過(guò)只把圖表連接到需要顯示的數(shù)據(jù)來(lái)控制內(nèi)存的使用。
? 瘦客戶端架構(gòu)。
¡ 基于標(biāo)準(zhǔn)Servlet Java技術(shù)的類包。
¡ 內(nèi)置支持圖形創(chuàng)建。
¡ 支持JPEG和PNG格式的圖形(通過(guò)添加定制編碼可以增加其它格式)。
¡ 客戶端圖形的自動(dòng)創(chuàng)建。
? 功能完全的打印API。
¡ 基于標(biāo)準(zhǔn)Java 2打印API。
¡ 多頁(yè)面打印。
¡ 豐富的頁(yè)面格式(段落排列,本地字體等等)。
¡ 組合文檔(圖表,表格,文字混合)。
¡ 可擴(kuò)展的框架。
Charts的典型用途
用Charts來(lái)反應(yīng)數(shù)據(jù),以觀察它們的值和趨勢(shì)走向,比如:
? 需要反應(yīng)數(shù)據(jù),以觀察數(shù)據(jù)的值和趨勢(shì)走向的應(yīng)用程序。用戶可以很多(比如通過(guò)搜索引擎顯示Nasdaq指數(shù)),也可以是一個(gè)公司的某些員工。這些應(yīng)用程序使用普通的圖表,任何人不需要練習(xí)就可以看懂。這些圖表是只讀的,通常在網(wǎng)頁(yè)上公布(瘦客戶端),這些應(yīng)用程序只是偶然使用。
? 要求更嚴(yán)格的應(yīng)用程序,它是專業(yè)人員用來(lái)完成他們?nèi)粘9ぷ鞯?。這些圖表通常需要實(shí)時(shí)更新,也就是說(shuō),它們和數(shù)據(jù)流相連接并實(shí)時(shí)刷新。這些圖表由應(yīng)用程序定制,需要精確的滾動(dòng)、縮放、指定焦點(diǎn)數(shù)據(jù)、交互和編輯數(shù)據(jù)。這樣的應(yīng)用程序在所有的工業(yè)中都存在:交易應(yīng)用,引擎測(cè)試(汽車,飛機(jī)等)和其它機(jī)械測(cè)試,網(wǎng)絡(luò)或應(yīng)用治理,科學(xué)研究。
(二)基本概念
這部分介紹Charts中各種要素的基本概念。
二維和三維
Charts能夠把二維的數(shù)據(jù)模型用三維圖表來(lái)顯示。只有笛卡兒圖和餅狀圖支持三維顯示。
數(shù)據(jù)和視圖的清楚區(qū)分
Charts基于一個(gè)具有MVC模型的Swing變種,稱之為可分離模型架構(gòu)。在這種設(shè)計(jì)下,模型治理數(shù)據(jù)或構(gòu)件代表的數(shù)值,而視圖治理模型的圖形化顯示并處理圖形上的交互。
圖表類型
Charts有四種不同的圖表類型:
? 笛卡兒圖
? 雷達(dá)形圖
? 極坐標(biāo)圖
? 餅狀圖
支持的圖形展現(xiàn)
Charts支持八種類型的圖形展現(xiàn):
? 折線
? 條形
? 區(qū)域
? 氣泡
? 高低值
? 散點(diǎn)
? 梯形
? 組合圖
圖表區(qū)域
圖表區(qū)域是指所有繪畫動(dòng)作進(jìn)行的場(chǎng)所(數(shù)據(jù)本身和裝飾的圖形顯示部分)。
表頭和注腳
這些構(gòu)件是可選的JComponent,對(duì)應(yīng)加入到圖表區(qū)域的上部或下部。
坐標(biāo)軸
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注