詳細(xì)設(shè)計(jì)說(shuō)明書(shū)真正例子_第1頁(yè)
詳細(xì)設(shè)計(jì)說(shuō)明書(shū)真正例子_第2頁(yè)
詳細(xì)設(shè)計(jì)說(shuō)明書(shū)真正例子_第3頁(yè)
詳細(xì)設(shè)計(jì)說(shuō)明書(shū)真正例子_第4頁(yè)
詳細(xì)設(shè)計(jì)說(shuō)明書(shū)真正例子_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、詳細(xì)設(shè)計(jì)說(shuō)明書(shū)1.引言1.1編寫(xiě)目的本詳細(xì)設(shè)計(jì)說(shuō)明書(shū)是針對(duì)網(wǎng)絡(luò)信息體系結(jié)構(gòu)的課程作業(yè)而編寫(xiě)。目的是對(duì)該工程進(jìn)行詳細(xì)設(shè)計(jì),在概要設(shè)計(jì)的根底上進(jìn)一步明確系統(tǒng)結(jié)構(gòu),詳細(xì)地介紹系統(tǒng)的各個(gè)模塊,為進(jìn)行后面的實(shí)現(xiàn)和測(cè)試作準(zhǔn)備。本詳細(xì)設(shè)計(jì)說(shuō)明書(shū)的預(yù)期讀者為本工程小組的成員以及對(duì)該系統(tǒng)感 興趣,在以后想對(duì)系統(tǒng)進(jìn)行擴(kuò)展和維護(hù)的人員。2.系統(tǒng)的結(jié)構(gòu)ui :系統(tǒng)界面局部,負(fù)責(zé)接受用戶輸入,顯示系統(tǒng)輸出,負(fù)責(zé)其他模塊功能的協(xié)調(diào)調(diào)用, 并含有站內(nèi)搜索功能,即在用戶指定的已翻開(kāi)的ftp站點(diǎn)中搜索用戶需要的資源。ui局部調(diào)用common分的功能讀取xml文件中保存的界面元素屬性信息,用戶最近訪問(wèn) 過(guò)的10個(gè)ftp信息,用戶

2、選擇的下載的ftp內(nèi)容列表及其他需要通過(guò)xml文件保存的信息。client:實(shí)現(xiàn)ftp客戶端的功能,ftp連接,ftp上傳及下載:上傳或下載用戶指定的資源,并返回相應(yīng)的信息。search:資源實(shí)時(shí)檢索局部,根據(jù)用戶輸入的資源名稱關(guān)鍵字,資源類型和選擇的檢索方式檢索用戶需要的資源,并驗(yàn)證資源的可用性,返回可用資源及其大小,速度等相關(guān)信息。preview :資源預(yù)覽局部,顯示用戶選擇的資源的局部?jī)?nèi)容,以使用戶決定是否需要該 資源。preview局部調(diào)用common局部讀取屬性文件的內(nèi)容亦顯示預(yù)覽資源內(nèi)容的顯示 格式。模塊描述實(shí)現(xiàn)用戶界面的包,含有11個(gè)文件51個(gè)類,是本系統(tǒng)中最復(fù)雜的代碼。功能負(fù)責(zé)

3、接受用戶輸入,顯示系統(tǒng)輸出,其他模塊功能的協(xié)調(diào)調(diào)用,并含有站內(nèi)搜索功能,即在用戶指定的已翻開(kāi)的ftp站點(diǎn)中搜索用戶需要的資源。3.3交互的模塊client , search , preview , common3.4模塊設(shè)計(jì)該模塊中的主要文件,文件中包含的主要類及其功能和與其它包的交互如下:MainFrame.javaMainFrame.java : : MainFrame是含有主函數(shù)的類,也是lyra客戶端開(kāi)始執(zhí)行的類,它先后進(jìn)行資源的初始化,顯示主界面等工作,根據(jù)屏幕大小設(shè)置界面大小,設(shè)置界面的觀感。FtpFrame_AboutBox.java:FtpFrame_AboutBox.java

4、:顯示關(guān)于窗口的類,當(dāng)用戶點(diǎn)擊幫助菜單中的關(guān)于菜單項(xiàng)時(shí)會(huì)彈出關(guān)于對(duì)話框。Tools.javaTools.java: FileTools是文件操作輔助類,可以實(shí)現(xiàn)文件的遞歸刪除等。XMLController.java:XMLController.java: JDOMTes是操作xml文件的類,用JDOM來(lái)操作xml文件, 實(shí)現(xiàn)的功能有:(1)保存ftp效勞器的文件列表(站內(nèi)搜索時(shí)使用),遞歸的從ftp效勞器讀取列表,并存入一個(gè)xml文件中(文件的命名方法是:ip+用戶名.xml);以目錄樹(shù)的形式保存。根據(jù)文件名在文件中查找文件,站內(nèi)搜索時(shí)使用。保存ftp效勞器的信息:ip,端口(默認(rèn)端口21不保

5、存),用戶名(默認(rèn)anonymous密碼,最多存10個(gè);存在resourcesettings serversinfor.xml文件中。讀取已存儲(chǔ)的ftp效勞器信息。從type.xml讀取搜索的類型。initcontent ()函數(shù)對(duì)所有常量進(jìn)行iconHashMap是hash表,用于存放java 中的控件可能不能滿足需求,其中含有的類有:(1)CustomizedJTable是表格類,設(shè)置表格的某些屬性,如字體等。(2)CustomizedTableCellRenderer是表格單元格繪制器類,主要用于顯示文件的系統(tǒng)圖標(biāo),和文件名。(3)LeftPanel類的父類是JTabbedPane用戶顯

6、示主窗口左邊的面板。(4)RightPanel類的父類是JPanel,用戶顯示右邊的主題局部,包括右上邊的搜索及效勞3.模塊1 (ui )設(shè)計(jì)說(shuō)明3.13.2(2)(3)不保存),(4)(5)Constants.java:Constants.java:放置系統(tǒng)運(yùn)行時(shí)使用的一些常量,初始化,這個(gè)函數(shù)在MainFrame中被調(diào)用一次。文件的系統(tǒng)圖標(biāo)。CustomizedController.javaCustomizedController.java : :包含自定義的控件類,需要自己定義某些屬性。這些控件會(huì)在創(chuàng)立界面時(shí)使用。器選項(xiàng),和中間的顯示效勞器文件的TabbedPane .(5)Bottom

7、Panel類是右下放顯示下載和效勞器信息的JTabbedPane(6)CustomizedJButton是定義按鈕類,更改了按鈕的字體,java本身默認(rèn)的字體不好看。(7)CustomizedTableModel是表格類,實(shí)現(xiàn)單元格的不可編輯。(8 ) CustomizedTableCellRenderer_Remote類是表格繪制器,在遠(yuǎn)程文件 瀏覽器RemoteFilesPanel使用,用于顯示文件名和文件圖標(biāo)。(9)FontTableCellRenderer類是表格單元格繪制器,主要功能是設(shè)置字體。(10)FontListCellRenderer類是下拉列表框單元格繪制器, 主要用于設(shè)置

8、字體。(11)CustomizedJLabel類是自定義標(biāo)簽類,重新設(shè)置了標(biāo)簽的字體。(12)CustomizedJTextField類是自定義文本框類, 主要用于設(shè)置文本框的顯示屬性。(13)CustomizedJMenu類是自定義菜單類,重新設(shè)置了菜單的字體。(14)CustomizedJMenuItem類是自定義菜單項(xiàng)類,重新設(shè)置了菜單的字體。(15)CustomizedListCellRenderer類是JComboBox即組合框單元格繪制器,用于在本地 路徑選擇的下拉列表中顯示磁盤圖標(biāo)。SearchResultReceiver.java,SearchResultReceiver.ja

9、va, SearchResultReceiver是一個(gè)接口,主要用于返回搜索結(jié)果。 搜索完成后調(diào)用接口中的函數(shù)通知調(diào)用者。其中主要有兩個(gè)函數(shù):(1)OnSearchFinished(String口keywords,ArrayList口resultset);result是 一 個(gè)10維 的 數(shù) 組 表result10 , ,resulti是由類型為i的資源組成的數(shù)組。i: 0 9,和類型列表框中的順序一致。(2)OnSearchFinished(String keywords,ArrayList resultset);不分類型,將所有資源放在一個(gè) 數(shù)組表中。FtpFrame.javaFtpFra

10、me.java :FtpFrame是程序主窗口類, 類型為JFrame是由三個(gè)分割窗口JSplitPane構(gòu)成的。jSplitPane_Left是左邊的分割窗口,水平分割條上邊顯示本地文件框,下邊是預(yù)覽框;jSplitPane_Right是右邊的分割窗口,水平分割條上邊是效勞器選項(xiàng)和ftp效勞器文件顯示的窗口,下邊是下載和效勞器信息顯示窗口 ;jSplitPane_Whole是整體 的分割窗口,垂直分割條,左邊是jSplitPane_Lef ,右邊是jSplitPane_Right。FtpFrame把LeftPanel, RightPanel, BottomPanel , PreviewWra

11、pperPanel這幾局部安裝在相 應(yīng)的分割窗格中;LeftPanel, RightPanel, BottomPanel是在CustomizedController.Java中定義的,PreviewWrapperPanel是在Preview包中定義的。LeftPanelCtrl.java:LeftPanelCtrl.java:LocalFilesPanel是本地文件面板,用表格來(lái)顯示本地文件的信息。上邊是組合框,顯示了磁盤分區(qū)通過(guò)這里可以改變根目錄。表格中顯示了文件的信息,包括文件名,文件的系統(tǒng)圖標(biāo),大小,最近修改日期,屬性等。選中一個(gè)文件后可 以執(zhí)行上載和刪除操作。文件夾會(huì)遞歸的刪除。Get

12、CurrentPath ()函數(shù)返回當(dāng)前的路徑。DisplayPathFiles ()函數(shù)在列表中顯示指定目錄下的文件。RightPanlCtrl.javaRightPanlCtrl.java : :定義右上邊的控件。含有的類有:(1)FtpServerOptionPanel類是效勞器連接選項(xiàng)面板,包含效勞器地址,端口,用戶名,密碼等,還包括最上端的搜索選項(xiàng)。openRemoteFilesPanel ()函數(shù)在下面的TabbedPane中打開(kāi)一個(gè)新的效勞器面板,連接效勞器。(2)RemoteFilesPanel類的主要功能是連接Ftp效勞器并顯示文件。這里會(huì)進(jìn)行文件的上載,下載及預(yù)覽等操作。R

13、emoteFilesPanel的內(nèi)部類TransferController負(fù)責(zé)調(diào)用FtpClient類提供 的功能與效勞器進(jìn)行交互,完成用戶指定的文件操作。TransferController還有三個(gè)內(nèi)部類:ConnThread類是負(fù)責(zé)連接效勞器的線程(新開(kāi)一個(gè)線程,目的是防止連接時(shí)阻塞),DownloadFileThread類是下載文件的線程,UploadFileThread類是上載文件的線程。(3 ) SearchResultPanel類是顯示搜索結(jié)果的類,它有兩個(gè)子類SearchResultPanelWithinSearchEngine類的功能是在搜索引擎中搜索,SearchResult

14、PanelWithinServer類的功能是站內(nèi)搜索。 搜索引擎的搜索會(huì)調(diào)用search包中的 程序,搜索引擎搜索完成后search包通過(guò)OnSearchFinished ()來(lái)通知SearchResultPanelWithinSearchEngine類,然后顯示搜索結(jié)果。(4) RightTabbedPane是顯示ftp效勞器文件表格的TabbedPane類。BottomPanelCtrl.javaBottomPanelCtrl.java : :實(shí)現(xiàn)主窗口下部面板及控件,顯示下載情況,效勞器連接信息。包含的主要類有:(1)RemoteMessPanel類是顯示效勞器連接信息的面板。需要顯示f

15、tp效勞器傳回的信息, 并在顯示前進(jìn)行編碼轉(zhuǎn)換,還需要顯示本地的相關(guān)信息。(2)DownloadingMessPanel類是顯示資源下載信息的面板,顯示下載資源的大小,下載速 度,已用時(shí)間,剩余時(shí)間等信息。3.5流程邏輯 總體流程:4.模塊2 (client)設(shè)計(jì)說(shuō)明4.1模塊描述實(shí)現(xiàn)ftp客戶端前者具體實(shí)現(xiàn)了ftp4.2功能實(shí)現(xiàn)ftp客戶端4.3交互的模塊ui4.4模塊設(shè)計(jì)該模塊中的主要文件,文件中包含的主要類及其功能和與其它包的交互如下:FtpClient.javaFtpClient.java : :含有類FtpClient,,該類會(huì)被ui包中的界面類調(diào)用,完成ftp功能。其中要功能的實(shí)現(xiàn)

16、有:在構(gòu)造函數(shù)中根據(jù)ip和port建立與效勞器的連接;FtpClient,有兩個(gè)文件FtpClient.java協(xié)議,后者是為登錄時(shí)可能拋出的異常而定義的類。和FtpLoginException.java,FtpClient,實(shí)現(xiàn)了ftp協(xié)議,用于和ftp效勞器通訊和數(shù)據(jù)傳輸。詳細(xì)設(shè)計(jì)說(shuō)明書(shū)Lyra Resource Platform6文檔 登錄效勞器login ()(用戶名,密碼); 向效勞器追加ascii文件appendAscii ();向效勞器追加二進(jìn)制文件appendBinary ();設(shè)置數(shù)據(jù)傳輸方式為二進(jìn)制binary, ascii碼scii ();改變工作目錄cd (String

17、 newdirectory );返回上一級(jí)目錄cdup ();斷開(kāi)連接closeserver ();刪除文件delete(文件名); 刪除文件夾rmdir(文件夾的名字); 用ascii模式下載文件 用二進(jìn)制方式下載文件 取得效勞器的響應(yīng)字串 列舉當(dāng)前目錄下的文件創(chuàng)立文件夾mkdir(文件夾名); 上載Ascii文件putAscii(文件路徑),二進(jìn)制putBinary ()。FtpLoginException.javaFtpLoginException.java : :含有類FtpLoginException ,定義登錄時(shí)可能拋出的異常。5.模塊3 (common設(shè)計(jì)說(shuō)明5.1模塊描述存放一

18、些輔助類,系統(tǒng)啟動(dòng)時(shí)會(huì)從properties.xml讀取一些配置信息。可以通過(guò)手動(dòng)修 改配置信息來(lái)修改系統(tǒng)的某些顯示屬性如字體,字的大小等。5.2功能存放一些輔助類,例如用于讀取和存儲(chǔ)系統(tǒng)配置屬性的類。用于將“屬性名-屬性值對(duì)存儲(chǔ)在properties.xml文件中的類。5.3交互的模塊ui5.4模塊設(shè)計(jì)該模塊中的主要文件,文件中包含的主要類及其功能和與其它包的交互如下:Properties.java:含有類Properties,這是讀取和存儲(chǔ)系統(tǒng)配置屬性的類。其主要功能的實(shí)現(xiàn)如下:函數(shù)getProperty()根據(jù)屬性名取得屬性值,如果屬性不存在返回null ;函數(shù)getProperties

19、()根據(jù)屬性名列表返回屬性值列表,返回值為ArrayList,其中的每一個(gè)元素是PropertyValue對(duì)象;函數(shù)setProperty()設(shè)置單個(gè)屬性值;函數(shù)setProperties()設(shè)置多個(gè)屬性值;函數(shù)readXMLFromFile()讀取xml文件;函數(shù)buildXML()在xml文檔中存入數(shù)據(jù);PropertyValue.java:含有類PropertyValue,在xml文件中存儲(chǔ)屬性名一屬性值對(duì)。getAscii(文件名);getBinary(文件名);getResponseString();list (),指定目錄下的文件list(文件名);Lyra Resource Pl

20、atform文檔詳細(xì)設(shè)計(jì)說(shuō)明書(shū)76.模塊4 (search)設(shè)計(jì)說(shuō)明6.1模塊描述 包search主要完成大網(wǎng)和百度兩項(xiàng)搜索功能。它含有以下6個(gè)類:NetResource,URLParser, ConnectionTester, SearchResultRetriever, EmbeddedFileRetriever,Retriever。6.2功能 主要完成大網(wǎng)和百度兩項(xiàng)搜索功能。6.3交互的模塊ui 6.4模塊設(shè)計(jì) 該模塊中的主要文件,文件中包含的主要類及其功能和與其它包的交互如下:NetResource.java:NetResource.java:含有類NetResource, NetRe

21、source是對(duì)被大網(wǎng)索引的網(wǎng)絡(luò)文件資源 的抽象,其字段有:fileURL(文件資源的URL,包括協(xié)議、主機(jī)字符串、路徑、文件 名)、fileDate(大網(wǎng)將它編入索引的日期)、fileSize(文件的大小)、responseTime(以毫秒計(jì)算的響應(yīng)時(shí)間)。 函數(shù)smallerThan(NetResource nr)比擬本條資源的響應(yīng)時(shí)間是否比nr的響應(yīng)時(shí)間小,因?yàn)橐?guī)定響應(yīng)時(shí)間小的NetResource排在相應(yīng)時(shí)間大的前面。URLParser.java:含有類URLParser, URLParser是一個(gè)工具箱類,它提供了假設(shè)干靜態(tài)方 法,對(duì)一個(gè)文件資源的URL進(jìn)行解析。其實(shí)現(xiàn)的方法有:函數(shù)

22、getProtocol ():給定一個(gè)URL ,返回其協(xié)議名稱; 函數(shù)getHostName ():給定一個(gè)URL,返回主機(jī)字符串;函數(shù)getPath ():給定一個(gè)URL,返回文件在主機(jī)中的存放路徑;函數(shù)getFileName ():給定一個(gè)URL,返回文件名;函數(shù)getSuffix ():給定一個(gè)URL,返回該URL對(duì)應(yīng)的文件資源的后綴名。ConnectionTester.javaConnectionTester.java:含有類ConnectionTester, ConnectionTester是用來(lái)對(duì)網(wǎng)絡(luò)文件 資源進(jìn)行連接測(cè)試的類,它實(shí)現(xiàn)了Runnable接口。SearchResult

23、Retriever類將ConnectionTester類作為模板生成許多線程并發(fā)地對(duì)各文件資源進(jìn)行連接并測(cè)試相應(yīng)時(shí) 間,以提高程序效率。每個(gè)網(wǎng)絡(luò)文件都是用NetResource類表示的。對(duì)于ftp文件,ConnectionTester嘗試以匿名方式連接。如果連接失敗那么丟棄該資源的URL,假設(shè)連接成功那么根據(jù)連接它響應(yīng)時(shí)間將其插入已排序的NetResource列表中。對(duì)于文件,ConnectionTester建立一個(gè)新的URLConnection,并調(diào)用connect方法嘗試連接。如果連 接失敗那么丟棄該資源的URL,假設(shè)連接成功那么根據(jù)連接它的響應(yīng)時(shí)間將其插入已排序的NetResource列

24、表中。在構(gòu)造ConnectionTester類的對(duì)象時(shí)必須指定一個(gè)由NetResource類的對(duì)象組成的ArrayList,其中每個(gè)NetResource都需要測(cè)速。 該類的功能主要由函數(shù)run()實(shí)現(xiàn)。SearchResultRetriever.javaSearchResultRetriever.java : :含有類SearchResultRetriever, SearchResultRetriever類根 據(jù)給定的關(guān)鍵字和文件類型向大網(wǎng)文件搜索引擎發(fā)送請(qǐng)求,對(duì)各返回結(jié)果頁(yè)面的源文件進(jìn)行分析,將所有網(wǎng)絡(luò)文件資源的URL進(jìn)行分類(利用大網(wǎng)的分類方法)并保存在10個(gè)ArrayList中。該類的

25、函數(shù)如下: 函數(shù)test ()判斷這個(gè)下一頁(yè)對(duì)應(yīng)的URL是否合法,該問(wèn)題僅在用程序訪問(wèn)大網(wǎng)時(shí)需 要考慮 函數(shù)retrieve ()根據(jù)輸入的關(guān)鍵字String tokens向大網(wǎng)發(fā)出請(qǐng)求,取得返回的URL集合,ArrayList0保存圖片imagefile ; ArrayList1保存音樂(lè)soundfile; ArrayList2保Lyra Resource Platform文檔詳細(xì)設(shè)計(jì)說(shuō)明書(shū)8存電影一videofile ; ArrayList3保存壓縮一zipfile ; ArrayList4保存文檔一docfile ; ArrayList5保存程序programfile ; ArrayLi

26、st6保存源碼srcfile ; ArrayList7保存網(wǎng)頁(yè)webfile ; ArrayList8保存目錄dirfile ; ArrayList9保存其他file。對(duì)每一個(gè)ArrayList生成假設(shè)干ConnectionTester線程進(jìn)行響應(yīng)時(shí)間測(cè)試,在這些線程返回后每一個(gè)ArrayList中的網(wǎng)絡(luò)文件資源都已經(jīng)按照響應(yīng)時(shí)間遞增的順序排列,而無(wú)法連接的文件資源URL都已被丟棄。SearchResultRetriever類的使用方式是調(diào)用它的函數(shù)retrieve( String tokens,int type),其中tokens為表示關(guān)鍵字的字符串?dāng)?shù)組;type說(shuō)明用戶需要搜索什么類型的文

27、件。該方法將上述10個(gè)ArrayList組成一個(gè)數(shù)組并返回。EmbeddedFileRetriever.javaEmbeddedFileRetriever.java : :含有類EmbeddedFileRetriever , EmbeddedFileRetriever類的作用是提取網(wǎng)頁(yè)中文件鏈接,它實(shí)現(xiàn)了Runnable接口。Retriever類將EmbeddedFileRetriever類作為模板生成假設(shè)干線程并發(fā)地提取不同網(wǎng)頁(yè)內(nèi)的文件鏈接,以提高程序效率。EmbeddedFileRetriever類維護(hù)了一個(gè)網(wǎng)頁(yè)后綴名列表,由于程序只提取對(duì)應(yīng)文件資源的URL ,我們需要分辨哪些后綴名是對(duì)應(yīng)

28、網(wǎng)頁(yè)的從而及時(shí)將它們丟棄。 在構(gòu)造類EmbeddedFileRetriever的對(duì)象時(shí)必須指明從哪個(gè)網(wǎng)頁(yè)URL中提取文件URL ,以及這些URL保存在哪個(gè)ArrayList中。函數(shù)hasFileSuffix()的功能是判斷一個(gè)url是否鏈向一個(gè)文件; 函數(shù)listFiles(String URLStr)將URLStr對(duì)應(yīng)頁(yè)面中的所有文件加到ArrayList中并返回。Retriever.javaRetriever.java : :含有類Retriever,Retriever類的功能是根據(jù)給定的關(guān)鍵字 向百度搜索引擎發(fā)送請(qǐng)求,抽取前20個(gè)返回結(jié)果對(duì)應(yīng)的網(wǎng)頁(yè)URL。對(duì)每一個(gè)頁(yè)面生成一個(gè)Embedd

29、edFileRetriever對(duì)象提取其中對(duì)文件的鏈接,并添加到一個(gè)ArrayList中。每個(gè)頁(yè)面都處理完畢后返回這個(gè)ArrayList。在利用搜索文件時(shí),應(yīng)當(dāng)提供盡可能多的信息,如輸入歌手姓名和“mp3作為關(guān)鍵字。如果僅給定歌手名稱那么搜索效果不佳。這些功能都是由函數(shù)retrieve ()實(shí)現(xiàn)的。6.5類圖WEmbeddedFileRetriever0URLStr: String finalList: ArrayListOthreadCount: IntegerfileDate : StringfileSize : StringOresponseTime : LongsmallerThanO

30、Lyra Resource Platform文檔詳細(xì)設(shè)計(jì)說(shuō)明書(shū)97.模塊5 (preview )設(shè)計(jì)說(shuō)明7.1模塊描述系統(tǒng)的預(yù)覽局部,實(shí)現(xiàn)了不同類型資源的預(yù)覽,并可以根據(jù)用戶選擇的格式顯示資源的 內(nèi)容。7.2功能各種類型資源的預(yù)覽, 可以根據(jù)用戶的選擇格式顯示資源的內(nèi)容,并可以存儲(chǔ)用戶選擇的預(yù)覽內(nèi)容。7.3交互的模塊ui7.4模塊設(shè)計(jì)該模塊中的主要文件,文件中包含的主要類及其功能和與其它包的交互如下:PreviewWrapperPanel.java:含有類PreviewWrapperPanel,這是系統(tǒng)的預(yù)覽 局部最根本的類,它派生自Jpanel類,主要由3局部組成,其中PreviewPane

31、l負(fù)責(zé)顯示預(yù)覽,StatusBarPanel負(fù)責(zé)顯示預(yù)覽文件的加載進(jìn)度,ControlButtonPanel負(fù)責(zé)和預(yù)覽相關(guān)的控制。在顯示資源的預(yù)覽內(nèi)容前應(yīng)該 先判斷該資源類型是否可以預(yù)覽。PreviewPanel.java:含有類PreviewPanel ,這是一個(gè)抽象類,負(fù)責(zé)資源內(nèi)容的預(yù)覽,有5個(gè)子類,這5個(gè)子類分別是PicturePreviewPanel類:負(fù)責(zé)圖像文件的預(yù)覽;PDFPreviewPanel類:負(fù)責(zé)PDFS:件的預(yù)覽;TxtPreviewPanel類:負(fù)責(zé)文本文件的預(yù)覽;NoFileSelectedPreviewPanel類:負(fù)責(zé)當(dāng)用戶沒(méi)有選項(xiàng)文件預(yù)覽時(shí)顯示提NoPrevi

32、ewPanel類:負(fù)責(zé)當(dāng)用戶選擇的文件不能預(yù)覽時(shí),顯示提示信息。PreviewPanel類實(shí)現(xiàn)的主要功能是構(gòu)造預(yù)覽窗口的實(shí)例,有兩種構(gòu)造方式:以默認(rèn)大小構(gòu)造或以指定大小構(gòu)造。PreviewPanel類的函數(shù)preview()是一個(gè)虛函數(shù),系統(tǒng)可以根據(jù)不同的子類 調(diào)用不同的預(yù)覽函數(shù)。PicturePreviewPanel.java:含有類PicturePreviewPanel,它的主要功能是圖像文件的預(yù)覽,其中有4個(gè)內(nèi)部類,分別是:ImagePanel類:這是顯示圖像的JPanel,主要功能是繪圖;PopupListener類:用戶單擊右鍵彈出菜單的類,右鍵功能是設(shè)置圖像的顯 示是“適合窗口還是“原始大??;picPopupMenuListener類:負(fù)責(zé)對(duì)右鍵菜單中事件的響應(yīng)。PictureFromDiskLoader類:負(fù)責(zé)從磁盤上加載圖像文件。TxtPreviewPanel.java:含有類TxtPreviewPanel,它的主要功能是文本文件的預(yù)覽,其中有5個(gè)內(nèi)部類,分別是:PopupListener類:用戶單擊右鍵彈出菜單的類,txtPopupMenuListener類:負(fù)責(zé)對(duì)右鍵菜單中事件的響應(yīng);FileFromDiskLoader類:負(fù)責(zé)從磁盤加載文本文件;FontChooseDialog類:字體選擇對(duì)話框;Lyra R

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論