下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
精品文檔-下載后可編輯基于XML的圖形用戶界面(全文)GUIXML發(fā)展到1.1版本,已經(jīng)具有了很強(qiáng)的實(shí)用價(jià)值。它為RIA應(yīng)用的開發(fā)提供了一種全新的,也是更高效的手段。
由于構(gòu)成圖形用戶界面的各種元素(統(tǒng)稱為控件)間天生所具有的層次和嵌套關(guān)系,與XML文檔中元素和屬性之間的關(guān)系十分相似,使用XML來(lái)描述圖形用戶界面是十分自然和有效的方法。其實(shí),早在HTML中就融合著這樣的想法。但是,HTML表單的表現(xiàn)力相對(duì)于目前越來(lái)越復(fù)雜的應(yīng)用還過(guò)于貧乏。因此,一些全新的、功能更為強(qiáng)大的XML語(yǔ)言紛紛出現(xiàn)。
Micromedia公司針對(duì)其獨(dú)有的Flash技術(shù),了一種描述圖形用戶界面的XML語(yǔ)言MXML,并發(fā)行了基于MXML的開發(fā)環(huán)境Flex;Microsoft公司也宣稱在其下一代的Windows操作系統(tǒng)Longhorn中將嵌入使用XAML語(yǔ)言的圖形用戶界面引擎Avalon;Mozilla開發(fā)小組專門為Mozilla瀏覽器的定義開發(fā)了一種用于描述用戶界面的語(yǔ)言XUL。在Java環(huán)境下,也有許多相關(guān)成果。例如,在Sun公司推出的Java集成編輯環(huán)境NetBeans3.5及以上版本中,圖形用戶界面的編輯器就采用一種自定義的XML格式描述圖形用戶界面開發(fā)的中間結(jié)果。另外,一種基于JavaAWT工具包的圖形用戶界面描述工具Bambookit已經(jīng)進(jìn)入了商業(yè)化階段。
本文介紹的GUIXML,與上面提到的各種XML語(yǔ)言都有一定的相似之處。但是,它們之間也存在著最根本的不同,也是提出和定義GUIXML規(guī)范最重要的目的――在多種圖形用戶界面工具包之上,實(shí)現(xiàn)高抽象的統(tǒng)一描述機(jī)制。眾所周知,圖形用戶界面工具包作為一種高級(jí)編程語(yǔ)言的核心特性,在各種語(yǔ)言中都有其專有的實(shí)現(xiàn)。僅僅Java語(yǔ)言就擁有多種圖形用戶界面工具包,包括AWT、Swing以及SWT。雖然這些圖形用戶界面工具包的用途完全一致,但是它們可能使用截然不同的元素和結(jié)構(gòu)來(lái)表現(xiàn)圖形用戶界面。經(jīng)過(guò)仔細(xì)的比較和歸納,并吸取其他多種XML圖形界面描述語(yǔ)言的優(yōu)點(diǎn),我們提出了機(jī)遇XML的圖形用戶界面描述方法和語(yǔ)言GUIXML。
GUIXML從被提出一直發(fā)展至今,也經(jīng)歷了不斷修改和增強(qiáng)的過(guò)程。這些修改和增強(qiáng)最直觀的體現(xiàn)就是GUIXML的語(yǔ)言規(guī)范的升級(jí)。GUIXML從最初的1.0版本,到目前正在制定的1.3版本,逐漸將XML技術(shù)的各種優(yōu)勢(shì)發(fā)揮得淋漓盡致。本文接下來(lái)的章節(jié)便按照GUIXML語(yǔ)言規(guī)范的發(fā)展歷程簡(jiǎn)單介紹其各種先進(jìn)和強(qiáng)大的功能。
GUIXML1.0
GUIXML語(yǔ)言采用抽象程度比較高的語(yǔ)法結(jié)構(gòu)來(lái)描述圖形用戶界面。1.0版本的語(yǔ)法的主要結(jié)構(gòu)可以用圖1部分概括。圖中的節(jié)點(diǎn)都表示XML中的元素(Element)(其屬性沒有給出,還有部分元素作為輔助功能也沒有在圖中給出)??梢院苋菀椎乜闯?,
元素定義了數(shù)據(jù)約束。數(shù)據(jù)約束的對(duì)象是DOM對(duì)象樹上的節(jié)點(diǎn)集(nodeset)。這些節(jié)點(diǎn)集通過(guò)XPath表達(dá)式來(lái)指定,例如“/Order”就指定了根節(jié)點(diǎn)下所有名為“Order”的元素節(jié)點(diǎn)。約束的類型可以是數(shù)據(jù)類型(type)、讀寫屬性(readonly)、計(jì)算關(guān)系(calculate)等。
同時(shí),數(shù)據(jù)模型還定義了數(shù)據(jù)提交的部分細(xì)節(jié),例如提交方式、地址等,如上面示例中元素所示。
數(shù)據(jù)綁定
GUIXML定義的控件可以通過(guò)XPath與DOM對(duì)象樹中的某個(gè)節(jié)點(diǎn)集綁定,稱之為數(shù)據(jù)綁定。例如下面示例給出的定義片斷粗體部分就將一個(gè)控件的背景顏色屬性值與某個(gè)DOM節(jié)點(diǎn)值綁定在一起:
java.swing.JButton
另外,也可以將一個(gè)控件本身,而不是其某個(gè)屬性,與對(duì)象樹的某節(jié)點(diǎn)綁定。這種邏輯上的綁定不會(huì)對(duì)該控件本身有任何影響,但是可以使得該控件內(nèi)部的“孩子”控件在定義綁定時(shí)使用相對(duì)形式的XPath表達(dá)式。
靈活的數(shù)據(jù)定義和引用機(jī)制,再配合前面介紹的增強(qiáng)控制功能,用戶界面就可以根據(jù)數(shù)據(jù)(XML文檔)的不同而呈現(xiàn)不同的樣式和內(nèi)容。
數(shù)據(jù)交互
由于有XForms強(qiáng)大的數(shù)據(jù)模型和靈活的數(shù)據(jù)綁定定義,運(yùn)行時(shí)的數(shù)據(jù)交互顯得十分簡(jiǎn)單:只需要根據(jù)數(shù)據(jù)綁定關(guān)系,將界面控件上的數(shù)據(jù)寫入到DOM對(duì)象樹相應(yīng)的節(jié)點(diǎn)上,一切的驗(yàn)證、計(jì)算、更新等操作都將自動(dòng)完成。當(dāng)然,為了使設(shè)計(jì)人員自由地控制何時(shí)采集數(shù)據(jù),何時(shí)更新數(shù)據(jù),又何時(shí)進(jìn)行計(jì)算,GUIXML1.1還預(yù)定義了一套數(shù)據(jù)交互函數(shù)(function)供設(shè)計(jì)人員調(diào)用。
邏輯定義
邏輯部分是1.1規(guī)范完全新增的一個(gè)功能。其主要目的是定義運(yùn)行時(shí)環(huán)境中,特定情形下需要執(zhí)行的一系列特定行為,例如對(duì)用戶界面中控件狀態(tài)的修改和對(duì)方法的調(diào)用等。
網(wǎng)絡(luò)通信
作為網(wǎng)絡(luò)應(yīng)用,通信方式或者說(shuō)通信協(xié)議是比較重要的一環(huán)。MXML和Bambookit在網(wǎng)絡(luò)環(huán)境下使用時(shí),都需要通過(guò)編寫腳本或者Java程序,并借助HTTP或者直接使用更底層的TCP協(xié)議來(lái)傳輸數(shù)據(jù)。顯然,這并不是最好的選擇。雖然GUIXML1.1規(guī)范中并沒有明確指定所采用的通信協(xié)議。但是,考慮到企業(yè)應(yīng)用對(duì)跨越防火墻等特性的要求,最后WebServices被作為應(yīng)用中的缺省通信手段。換句話說(shuō),XML數(shù)據(jù)采用SOAP/HTTP協(xié)議在網(wǎng)絡(luò)上傳輸。
然而,WebServices實(shí)現(xiàn)中擁有許多不同類型的數(shù)據(jù)編碼和傳輸方式,例如基于RPC(RemoteProcessCall)的WebServices采用RPC規(guī)范序列化和編碼數(shù)據(jù);基于文檔(Document)結(jié)構(gòu)的WebServices采用XML文檔作為數(shù)據(jù)格式,等等。很顯然,由于數(shù)據(jù)模型的特點(diǎn),基于文檔結(jié)構(gòu)的WebServices更適合GUIXML應(yīng)用的要求。
在實(shí)現(xiàn)層面上,網(wǎng)絡(luò)通信模塊需要做的事情十分簡(jiǎn)單:從數(shù)據(jù)模型通過(guò)簡(jiǎn)單的接口獲得表示數(shù)據(jù)的XML文檔,然后按照模型中定義的數(shù)據(jù)提交信息,例如WebServices調(diào)用地址等,調(diào)用服務(wù)端的WebServices并獲得返回的XML文檔數(shù)據(jù)。如此,便完成一次通信過(guò)程。GUIXML1.1規(guī)范的實(shí)現(xiàn)過(guò)程也證明了這項(xiàng)選擇的正確性。
鏈接:軟件構(gòu)件圖元編輯標(biāo)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 托育班包餃子課程設(shè)計(jì)
- 液晶字符顯示課程設(shè)計(jì)
- 護(hù)理孕期保健課程設(shè)計(jì)
- 2025版能源項(xiàng)目降水井勞務(wù)分包服務(wù)合同3篇
- 二零二五年度中央空調(diào)工程變更與調(diào)整合同3篇
- 2025版高端住宅木地板定制安裝及售后服務(wù)合同3篇
- 電子課程設(shè)計(jì)實(shí)驗(yàn)心得
- 職業(yè)生涯校本課程設(shè)計(jì)
- 2025年度按揭中二手房買賣合同范本:全裝修交付版3篇
- 藝術(shù)品交易合同撰寫與代理權(quán)益保護(hù)考核試卷
- 期末 (試題) -2024-2025學(xué)年人教PEP版(2024)英語(yǔ)三年級(jí)上冊(cè)
- 2025年高考政治時(shí)政熱點(diǎn) 延遲退休政策(知識(shí)銜接+練習(xí)+解析)
- 2.1 網(wǎng)絡(luò)改變世界 (教案) -2024-2025學(xué)年道德與法治八年級(jí)上冊(cè) 統(tǒng)編版
- 中華傳統(tǒng)文化之戲曲瑰寶學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 公路工程利用鋰渣技術(shù)規(guī)范 第一部分:路基工程-編制說(shuō)明
- 裝飾裝修設(shè)備表
- 基于老舊小區(qū)加裝電梯特殊安全及風(fēng)險(xiǎn)控制的研究
- 甘肅省蘭州市(2024年-2025年小學(xué)三年級(jí)語(yǔ)文)人教版綜合練習(xí)(上學(xué)期)試卷(含答案)
- 2024年人教版小學(xué)四年級(jí)信息技術(shù)(上冊(cè))期末試卷及答案
- 譯林版小學(xué)英語(yǔ)二年級(jí)上全冊(cè)教案
- DL∕T 821-2017 金屬熔化焊對(duì)接接頭射線檢測(cè)技術(shù)和質(zhì)量分級(jí)
評(píng)論
0/150
提交評(píng)論