徹底理解JavaHelp結(jié)構(gòu)的好處
Sun微系統(tǒng)的JavaHelp系統(tǒng)是一種應(yīng)用程序幫助技術(shù),它可以在所有支持Java的平臺(tái)和瀏覽器中運(yùn)行只要它是一個(gè)純粹的Java產(chǎn)品。通過(guò) applet和Java應(yīng)用程序,在其他環(huán)境下,比如在互聯(lián)網(wǎng)或企業(yè)內(nèi)部互聯(lián)網(wǎng)中,它是理想的使用對(duì)象。在本文中,我將回顧JavaHelp的主要作用, 并闡明它的簡(jiǎn)單使用方法。優(yōu)點(diǎn)
JavaHelp通過(guò)使用Java基礎(chǔ)類(lèi)(JFC) 軟件組件來(lái)實(shí)現(xiàn),這使得開(kāi)發(fā)戶(hù)自定義界面和功能變得靈活輕松。您可以輕而易舉地將應(yīng)用程序的幫助信息嵌入到應(yīng)用程序之中,或者嵌入到另一個(gè)獨(dú)立的窗口里。JFC 還具有通過(guò)自定義導(dǎo)航控件拓展幫助功能的能力。
JavaHelp使動(dòng)態(tài)更新幫助數(shù)據(jù)或?qū)⑵浯鎯?chǔ)在一個(gè)便利的位置變得簡(jiǎn)單易行,不管是在客戶(hù)端還是服務(wù)器端。內(nèi)容窗口使用HTML 3.2格式顯示話(huà)題,使內(nèi)容設(shè)計(jì)變得簡(jiǎn)單。標(biāo)準(zhǔn)導(dǎo)航提供內(nèi)容表單(TOC)、索引和全文搜索。(TOC和索引都遵循W3C標(biāo)準(zhǔn)。)
JavaHelp Data Sheet提供以下信息:TOC提供層疊式和擴(kuò)展式話(huà)題展示,無(wú)限量等級(jí)層次和多重TOC的合并。TOC與內(nèi)容閱讀器同步顯示,也就是說(shuō)顯示的話(huà)題在 TOC中被突出。索引支持多重索引的合并。全文搜索被設(shè)計(jì)得很靈活,并且可以配置。搜索引擎也可置于用戶(hù)或服務(wù)器中的任一方。
幫助內(nèi)容和搜索引擎被壓縮成一個(gè)使用標(biāo)準(zhǔn)JAR格式的單個(gè)文件。盡管為了使存儲(chǔ)和訪問(wèn)更具靈活性,推薦將所有文件壓縮成一個(gè)單獨(dú)的文件,但是您仍然可以將 所有文件以擴(kuò)展的格式保存在目錄中。您可以在自定義編寫(xiě)的導(dǎo)航器、搜索引擎、標(biāo)準(zhǔn)JavaHelp閱讀器或在任何HTML顯示中,包括標(biāo)準(zhǔn)Web瀏覽器 中,查看和導(dǎo)航內(nèi)容。
JavaHelp API提供一個(gè)上下文敏感幫助和ID映射的機(jī)制。您可以將多重組件的幫助信息用JavaHelp API合并,這樣用戶(hù)就看到一個(gè)單獨(dú)的完整文檔。合并機(jī)制可以應(yīng)用于TOC、索引和搜索數(shù)據(jù)庫(kù)。
特性
JavaHelp有兩個(gè)主要版本:1.1.3和2.0版。最早支持JavaHelp 2.0的Java版本是J2SE 1.2.2,因此您無(wú)需擔(dān)心自己的代碼是否支持JavaHelp。JavaHelp系統(tǒng)由一個(gè)特性完整的、可擴(kuò)展的規(guī)范、API以及一個(gè)參考執(zhí)行組成。
標(biāo)準(zhǔn)JavaHelp系統(tǒng)的主窗口:有三個(gè)顯示窗口,在您退出窗口時(shí)并未被關(guān)閉,依然可配置。在默認(rèn)情況下,一個(gè)主要窗口有以下三個(gè)窗格:工具欄、導(dǎo)航窗口和內(nèi)容窗口。見(jiàn)圖表1。
用戶(hù)可以應(yīng)用多種方式通過(guò)內(nèi)部應(yīng)用程序調(diào)用在線(xiàn)幫助,例如,當(dāng)一個(gè)用戶(hù)從幫助菜單中選擇一項(xiàng),或在應(yīng)用程序GUI中點(diǎn)擊幫助按鈕,JavaHelp系統(tǒng)提 供一個(gè)簡(jiǎn)便的界面,通過(guò)這個(gè)界面,應(yīng)用程序要求話(huà)題的ID 得以顯示。然后JavaHelp系統(tǒng)將話(huà)題ID與相應(yīng)的URL相連接并將其顯示出來(lái)。
ID被映射到一個(gè)被稱(chēng)作映射文件的JavaHelp系統(tǒng)元數(shù)據(jù)文件中的URL上。例如,當(dāng)為文件選擇對(duì)話(huà)框編碼時(shí),開(kāi)發(fā)人員要求話(huà)題ID fc_help在當(dāng)對(duì)話(huà)框底部的幫助按鈕被點(diǎn)擊時(shí)顯示。在映射文件中,ID fc_help被定義為名為 FileChooser.html的文件,使用以下XML句法:
將文件名(或URL)的規(guī)范從程序代碼分離為內(nèi)容的作者提供了控制與話(huà)題ID相關(guān)的信息的自由。
工具提示是一個(gè)顯示給用戶(hù)的簡(jiǎn)短信息,當(dāng)光標(biāo)停留在一個(gè)按鈕上的時(shí)間間隔長(zhǎng)于閾值時(shí)它就會(huì)出現(xiàn)。您還可以將工具提示信息納入JavaHelp系統(tǒng)數(shù)據(jù)。
JavaHelp系統(tǒng)數(shù)據(jù)具有調(diào)用在線(xiàn)幫助的能力,能夠在應(yīng)用程序GUI中描述圖形組件。用戶(hù)操縱激活語(yǔ)境敏感幫助,然后將組件以問(wèn)題形式特定化。與組件相聯(lián)系的ID被顯示。您可以從TOC、索引導(dǎo)航或主要窗口的內(nèi)容窗格中顯示幫助話(huà)題。
輕型組件
輕型組件能夠向幫助話(huà)題添加功能。這些組件與Java的applet相似,但它們的加載和執(zhí)行更為迅速。一個(gè)幫助的創(chuàng)作者能夠使用已經(jīng)在JavaHelp 中執(zhí)行的輕型組件;這個(gè)組件執(zhí)行彈出窗口和次級(jí)窗口。在HTML 話(huà)題文件中使用輕型組件,您可以使用HTML<o(jì)bject>標(biāo)記,正如列表A中的例子所顯示的。
在例子中,彈出的對(duì)象包括文件../topicB/glossary_def.html,用戶(hù)點(diǎn)擊的對(duì)象(viewerActivator)是個(gè)鏈接,窗 口類(lèi)型屬于彈出型,窗口大小為300x400,用戶(hù)在鏈接中看到的內(nèi)容是“Click here(點(diǎn)擊這里)”。
Java開(kāi)發(fā)商還可以創(chuàng)造新的輕型組件。例如,這樣的組件可能為幫助話(huà)題添加動(dòng)畫(huà)和多媒體功能。
要求抽象查看的輕型組件必須執(zhí)行javax.javahelp.impl.ViewAwareComponen。這些組件執(zhí)行setViewData() 方法。這個(gè)組件能夠根據(jù)抽象查看中的信息決定它所執(zhí)行的環(huán)境。(注意:要訪問(wèn)抽象查看,您應(yīng)該使用JavaHelp API。)在列表B中,文檔對(duì)象下面的編碼片斷來(lái)自于抽象查看。
需要更多關(guān)于創(chuàng)造Java輕型組件的信息,請(qǐng)參閱相關(guān)文件。
JavaHelp編寫(xiě)工具
有很多通過(guò)商業(yè)途徑可以得到的編寫(xiě)工具能夠?yàn)槟膽?yīng)用程序編寫(xiě)和維護(hù)一個(gè)完美的幫助系統(tǒng)。最有名的三個(gè)是Software7 Gmbh的Helen 1.5、Solutionsoft的HelpBreeze和Pivotonic的JawaHelpAuthor。所有這些第三方產(chǎn)品都支持Java 2 和Java 1.1標(biāo)準(zhǔn)。需要更多關(guān)于編寫(xiě)工具的信息,請(qǐng)參閱Sun的幫助編寫(xiě)工具頁(yè)面。
試試看吧
如果JavaHelp聽(tīng)起來(lái)像是一個(gè)您認(rèn)為您的用戶(hù)和伙伴開(kāi)發(fā)商都喜歡的系統(tǒng)的話(huà),那么從Sun Microsystem公司的網(wǎng)站上立刻下載吧。這個(gè)地址提供了安裝過(guò)程所需要的所有信息。
posted on 2009-12-21 09:23 BlakeSu 閱讀(202) 評(píng)論(0) 編輯 收藏