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