企業(yè)內(nèi)部通信系統(tǒng)的設(shè)計與實現(xiàn) 計算機論文_第1頁
企業(yè)內(nèi)部通信系統(tǒng)的設(shè)計與實現(xiàn) 計算機論文_第2頁
企業(yè)內(nèi)部通信系統(tǒng)的設(shè)計與實現(xiàn) 計算機論文_第3頁
企業(yè)內(nèi)部通信系統(tǒng)的設(shè)計與實現(xiàn) 計算機論文_第4頁
企業(yè)內(nèi)部通信系統(tǒng)的設(shè)計與實現(xiàn) 計算機論文_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

本科畢業(yè)設(shè)計(論文)題目企業(yè)內(nèi)部通信系統(tǒng)的設(shè)計與實現(xiàn)院系計算機科學(xué)系專業(yè)計算機科學(xué)與技術(shù)姓名學(xué)號指導(dǎo)教師教師職稱填寫日期2012年5月7日貴陽學(xué)院畢業(yè)設(shè)計(論文)摘要隨著企業(yè)的不斷增多,社會經(jīng)濟的飛速發(fā)展,越來越多的企業(yè)開始使用內(nèi)部通信軟件來解決人員的工作溝通問題,它成本低,通信速度快,不僅方便人員的技術(shù)交流,還解決了電話的單線程通訊和費用高昂等問題。企業(yè)內(nèi)部通信軟件可以很好的解決企業(yè)內(nèi)部通信問題,使每個員工都能及時的了解自己的工作內(nèi)容和獲取需要的資料,加強了團隊的溝通。此系統(tǒng)基于UDP/IP協(xié)議,采用JAVA語言設(shè)計和實現(xiàn),使用ECLIPSE和WINDOWBUILDERPRO插件進行開發(fā)。系統(tǒng)實現(xiàn)了信息通信、系統(tǒng)設(shè)置、搜索用戶、訪問公共資源、互訪對方主機五大功能。本系統(tǒng)結(jié)構(gòu)清晰、界面友好、操作簡單、通用性強,可以大大提高了企業(yè)的工作效率。關(guān)鍵詞企業(yè);信息通信;JAVA;UDP/IP貴陽學(xué)院畢業(yè)設(shè)計(論文)IABSTRACTWITHTHEINCRESINGOFTHEENTERPRISES,ANDTHERAPIDECONOMICDEVELOPMENTOFSOCIETY,MOREANDMOREOFTHEENTERPRISESARESTARTINGTOUSEINTERNALCOMMUNICATIONSSOFTWARESOLVINGCOMMUNICATIONPROBLEMOFSTAFFITISLOWCOST,HIGHSPEEDCOMMUNICATIONS,NOTONLYFACILITATETHETECHNOLOGYTRANSFERBUTALSOSOLVETHESINGLETHREADEDCALLSCOMMUNICATIONANDCOSTLYPROBLEMSENTERPRISEINSTANTMESSAGINGSOFTWARECANSOLVEINTERNALCOMMUNICATIONPROBLEMS,SOTHATEVERYEMPLOYEEISABLETOUNDERSTANDTHEIRWORKCONTENTANDACCESSTOREQUIREDINFORMATIONENHANCECOMMUNICATIONBETWEENTHETEAMTHISSYSTEMBASEDONUDP/IP,USESTHEJAVALANGUAGEDESIGNANDIMPLEMENTATION,USEECLIPSEANDWINDOWBUILDERPROPLUGINDEVELOPMENTTHISSYSTEMREALIZESFIVEFUNCTIONSINCLUDINGTHEINFORMATIONCOMMUNICATION,SYSTEMSETTINGS,SEARCHUSERS,VISITTHEPUBLICRESOURCESANDOTHERHOSTVISITS,THISSYSTEMSTRUCTUREISCLEAR,FRIENDLYINTERFACE,EASYTOOPERATESTRONGUNIVERSABILITY,ITCOULDBEGREATLYIMPROVETHEEFFICIENCYOFENTERPRISESKEYWORDSENTERPRISE;INFORMATIONCOMMUNICATION;JAVA;UDP/IP貴陽學(xué)院畢業(yè)設(shè)計(論文)II目錄摘要IABSTRACTII第一章前言1第二章概述2第一節(jié)開發(fā)背景2第二節(jié)課題現(xiàn)狀2第三節(jié)軟硬件需求2第三章系統(tǒng)分析3第一節(jié)需求功能分析3第二節(jié)可行性分析3一、可行性要求、目標3二、技術(shù)可行性分析3三、經(jīng)濟可行性分析4第四章系統(tǒng)設(shè)計5第一節(jié)系統(tǒng)目標5第二節(jié)系統(tǒng)功能5第三節(jié)數(shù)據(jù)庫結(jié)構(gòu)設(shè)計5一、數(shù)據(jù)庫分析5二、企業(yè)內(nèi)部通信系統(tǒng)的ER圖6三、數(shù)據(jù)庫結(jié)構(gòu)設(shè)計7第五章詳細設(shè)計和代碼實現(xiàn)8第一節(jié)主窗體模塊的設(shè)計與實現(xiàn)8一、界面設(shè)計8二、實現(xiàn)過程8第二節(jié)公共模塊的設(shè)計與實現(xiàn)10一、界面設(shè)計10二、實現(xiàn)過程11第三節(jié)系統(tǒng)托盤模塊的設(shè)計與實現(xiàn)13一、界面設(shè)計13二、實現(xiàn)過程13第四節(jié)系統(tǒng)工具模塊的設(shè)計與實現(xiàn)14一、界面設(shè)計14貴陽學(xué)院畢業(yè)設(shè)計(論文)III二、實現(xiàn)過程15第五節(jié)用戶管理模塊的設(shè)計與實現(xiàn)17一、界面設(shè)計17二、實現(xiàn)過程18第六節(jié)通信模塊的設(shè)計與實現(xiàn)20一、界面設(shè)計20二、實現(xiàn)過程23第六章總結(jié)27致謝28參考文獻29貴陽學(xué)院畢業(yè)設(shè)計(論文)0第一章前言從20世紀90年代開始,公共的即時消息和實時通信逐漸成為了人們重要的溝通工具,如MAIL、QQ、MSN等。但是,公共的即時信息給人們帶來方便的同時,也帶來了極大的安全隱患,當(dāng)今網(wǎng)絡(luò),木馬程序、病毒和其他惡意軟件橫行,稍不注意,電腦就會中毒。對于企業(yè),使用公共的即時消息是一種安全威脅,企業(yè)的IT部門對于公共即時消息的使用計劃無法控制。公共的即時通信,正成為病毒和其他惡意軟件入侵企業(yè)計算機的一個渠道,這意味著最終用戶能夠把敏感的數(shù)據(jù)外傳。為此企業(yè)內(nèi)部通信工具應(yīng)運而生,本工具從源頭上解決了這一隱患,專為企業(yè)而設(shè)計,通信服務(wù)器就直接置于企業(yè)內(nèi)部,所有信息由企業(yè)自己管理,讓企業(yè)以更安全、更可伸縮和更易于管理的方式靈活方便地使用協(xié)同和通信服務(wù)的功能。企業(yè)內(nèi)部通信工具可以很好的解決企業(yè)通信問題,面對工作目標和團隊工作中可能出現(xiàn)的問題,必須加強團隊的溝通,使每個員工都能及時地了解自己的工作內(nèi)容和獲取需要的資料。為解決這一問題,開發(fā)一個界面友好、易于操作的內(nèi)部通信軟件成為企業(yè)的首選。本系統(tǒng)應(yīng)用了JDK60新增的系統(tǒng)托盤技術(shù)和JAVADB數(shù)據(jù)庫。系統(tǒng)托盤可以在程序主窗體最小化之后,使用托盤控制窗體的相應(yīng)操作,例如打開主窗體;JAVADB使用靈活,可以應(yīng)用到不同的系統(tǒng)平臺中,只要該平臺有支持JAVA的環(huán)境。整個系統(tǒng)從操作簡便、界面友好、靈活、實用、安全的要求出發(fā),實現(xiàn)信息通信、系統(tǒng)設(shè)置、搜索用戶、訪問公共資源、互訪對方主機等功能。貴陽學(xué)院畢業(yè)設(shè)計(論文)1第二章概述第一節(jié)開發(fā)背景近幾年,隨著網(wǎng)絡(luò)的迅速發(fā)展和全球信息化速度的加快,網(wǎng)絡(luò)通信已經(jīng)不算是新鮮事物了,但大多數(shù)網(wǎng)絡(luò)通信需要借助INTERNET上的服務(wù)器,這就給那些具有大規(guī)模內(nèi)部網(wǎng)絡(luò)的用戶造成了許多問題,如遭遇到網(wǎng)絡(luò)攻擊、病毒入侵等等。由于互聯(lián)網(wǎng)上的網(wǎng)絡(luò)通信工具有時會給企業(yè)內(nèi)部信息交流帶來不便,所以為了方便企業(yè)內(nèi)部用戶之間的溝通、保證企業(yè)內(nèi)部局域網(wǎng)的安全,需要開發(fā)一個基于局域網(wǎng)的信息收發(fā)系統(tǒng)的即時通信工具。第二節(jié)課題現(xiàn)狀企業(yè)內(nèi)部通信系統(tǒng)是基于局域網(wǎng)的即時通信工具,可以說是一個INTERNET通信工具的小規(guī)模版本,一般采用UDP或者TCP協(xié)議體系等來實現(xiàn),開發(fā)技術(shù)已經(jīng)比較成熟,國外的通信工具較有名的有ICQ、MSNMESSENGER、國產(chǎn)的QQ、新浪UC都實現(xiàn)了廣域網(wǎng)的即時通信。在最近幾年,國內(nèi)的局域網(wǎng)通信工具較有代表性有飛鴿傳書、飛秋,這兩款軟件的快速、實效、迷你、簡單的特點受到了廣大企業(yè)的好評。這些工具的實現(xiàn)方式具體細節(jié)不易得之,但它無非是利用各種平臺上的網(wǎng)絡(luò)通信接口,基于TCP/IP或者UDP/IP協(xié)議架構(gòu)下的軟件產(chǎn)品。對于一個企業(yè)內(nèi)網(wǎng),這些功能的實現(xiàn)相比于廣域網(wǎng)更加簡單。所以還是有很大研究價值的1。第三節(jié)軟硬件需求本系統(tǒng)運行時需要以下條件。硬件平臺CPUPENTIUM418GHZ內(nèi)存128MB以上硬盤空間100MB軟件平臺操作系統(tǒng)WINDOWS2000、WINDOWSXP、WINDOWS2003等開發(fā)工具ECLIPSE、JDK60數(shù)據(jù)庫JAVADB貴陽學(xué)院畢業(yè)設(shè)計(論文)2第三章系統(tǒng)分析第一節(jié)需求功能分析本系統(tǒng)的設(shè)計目標是實現(xiàn)一個企業(yè)內(nèi)部局域網(wǎng)通信系統(tǒng),企業(yè)內(nèi)部職工可以方便的進行交流,可以大大的提高職工的工作效率。根據(jù)企業(yè)對局域網(wǎng)通信的需求,本系統(tǒng)主要包括信息通信、系統(tǒng)設(shè)置、搜索用戶、訪問公共資源、訪問對方主機五大功能。各功能概述信息通信信息通信是企業(yè)內(nèi)部通信系統(tǒng)的核心功能,它用于不同職工之間的通信,這種通信方式能夠?qū)崿F(xiàn)多個職工之間的通信,而不存在類似電話占線的問題,增加了任務(wù)分配的新方式,從而提高企業(yè)的工作效率。系統(tǒng)設(shè)置系統(tǒng)設(shè)置用于設(shè)置用戶界面、公共路徑、公告欄等的功能。用戶搜索用戶搜索用于搜索企業(yè)局域網(wǎng)內(nèi)的其他用戶,系統(tǒng)會根據(jù)用戶所設(shè)置的IP搜索范圍搜索所有計算機上的用戶。訪問公共資源訪問公共資源用于實現(xiàn)企業(yè)內(nèi)部公共服務(wù)器上資源訪問的功能。訪問對方主機訪問對方主機用于兩人聊天情況下對對方主機的訪問和控制的功能。第二節(jié)可行性分析一、可行性要求、目標企業(yè)內(nèi)部通信系統(tǒng)必須提供網(wǎng)絡(luò)通信功能,在通信過程中禁止使用聊天表情、文件傳送等功能,避免資料外泄,或因發(fā)送錯誤而導(dǎo)致上機資料的丟失以及其他損失。最重要的是必須適應(yīng)任何操作系統(tǒng),也就是實現(xiàn)跨平臺技術(shù),因為企業(yè)內(nèi)部的工作需要,工作環(huán)境中使用了多個操作系統(tǒng)來完成不同的工作。另外,系統(tǒng)不需要使用服務(wù)器中轉(zhuǎn)和記錄通信內(nèi)容,可以獨立完成通信任務(wù),排除職工對領(lǐng)導(dǎo)監(jiān)視工作進度等行為的逆反心理。企業(yè)內(nèi)部通信系統(tǒng)的目標是實現(xiàn)企業(yè)的信息化通信,提高企業(yè)通信能力,提高任務(wù)理解和執(zhí)行能力,減少沒有必要的人員流動和資金損耗,以最快的速度提升企業(yè)的市場競爭力。二、技術(shù)可行性分析局域網(wǎng)通信系統(tǒng)的技術(shù)已經(jīng)非常成熟,首先,從硬件上講,計算機硬件速度現(xiàn)在已貴陽學(xué)院畢業(yè)設(shè)計(論文)3經(jīng)不是問題,高速便捷的網(wǎng)絡(luò)已經(jīng)十分普遍,這些為本系統(tǒng)的運行打下堅實的基礎(chǔ)。從軟件的角度上講,數(shù)據(jù)庫技術(shù)已經(jīng)相當(dāng)成熟(目前用得比較多的有SQLSERVER,JAVADB等),并且處理能力也非常強,這為海量數(shù)據(jù)的存儲和處理打下了堅實的基礎(chǔ),同時,使用JAVA開發(fā)圖形界面程序也相當(dāng)普遍。有了這些技術(shù)的支持,我們成功開發(fā)一個局域網(wǎng)通信系統(tǒng)沒有任何技術(shù)風(fēng)險。三、經(jīng)濟可行性分析經(jīng)濟可行性主要是對項目的經(jīng)濟效益進行評價。本系統(tǒng)開發(fā)完成后可縮減工作時間,提高工作效率,而且簡單易操作,不需對使用人員進行培訓(xùn),不管是在資金上還是效率上都能達到預(yù)期的效果。本系統(tǒng)開發(fā)經(jīng)費對于企業(yè)在經(jīng)濟上是可以接受的,并且本系統(tǒng)實施后可以顯著提高工作效率,有助于企業(yè)的信息化管理,所以該企業(yè)內(nèi)部通信系統(tǒng)在經(jīng)濟上是可行的。貴陽學(xué)院畢業(yè)設(shè)計(論文)4第四章系統(tǒng)設(shè)計第一節(jié)系統(tǒng)目標系統(tǒng)根據(jù)企業(yè)對內(nèi)部通信系統(tǒng)的要求,本系統(tǒng)可以實現(xiàn)以下目標1操作簡單、界面簡潔美觀。2更方便訪問企業(yè)公共資源。3及時顯示企業(yè)公共信息。4在通信窗口顯示對方IP信息。5局域網(wǎng)內(nèi)網(wǎng)用戶自動搜索。6系統(tǒng)運行穩(wěn)定、安全可靠。第二節(jié)系統(tǒng)功能系統(tǒng)功能結(jié)構(gòu)圖如下企業(yè)內(nèi)部通信系統(tǒng)信息通信系統(tǒng)設(shè)置用戶搜索訪問公共資源訪問對方主機圖41系統(tǒng)功能結(jié)構(gòu)圖第三節(jié)數(shù)據(jù)庫結(jié)構(gòu)設(shè)計一、數(shù)據(jù)庫分析該系統(tǒng)是一個桌面應(yīng)用程序,它不像WEB應(yīng)用那樣需要配置到指定的服務(wù)器上,所貴陽學(xué)院畢業(yè)設(shè)計(論文)5以數(shù)據(jù)庫和該系統(tǒng)應(yīng)存在于同一計算機中,這樣,不僅節(jié)省了開銷,而且還提高了系統(tǒng)的安全性。該系統(tǒng)所用數(shù)據(jù)庫為JAVADB數(shù)據(jù)庫。由于該數(shù)據(jù)庫的運行環(huán)境平臺要求較低,一般的電腦都可以滿足它的硬件條件2。二、企業(yè)內(nèi)部通信系統(tǒng)的ER圖該系統(tǒng)的實體包括用戶和窗口位置兩個實體,分別記錄著通信窗口的絕對位置和用戶的信息。(1)用戶實體用戶實體主要包括IP信息、PC名稱、用戶信息、系統(tǒng)信息等,它記錄了搜索到的用戶和所有的用戶信息。用戶實體的ER圖如下所示用戶實體頭像提示文本用戶信息IP地址主機名稱圖42用戶實體ER圖2窗口位置實體窗口位置實體記錄著窗體最后的移動位置和窗體大小等信息,主要包括窗體位置的橫坐標和豎坐標(下圖用X、Y軸坐標表示)、窗體的高度和寬度。窗口實體的ER圖如下所示貴陽學(xué)院畢業(yè)設(shè)計(論文)6X坐標窗口實體Y坐標窗體高度窗體寬度圖43窗口實體ER圖三、數(shù)據(jù)庫結(jié)構(gòu)設(shè)計在該系統(tǒng)中的數(shù)據(jù)庫DB_EQ包含兩個數(shù)據(jù)表,分別為用戶信息表TB_USERS和窗體位置信息表TB_LOCATION。(1)TB_USERS用戶信息表用戶信息表用來保存企業(yè)內(nèi)的通信用戶,表TB_USERS如下所示表41用戶信息表TB_USERS字段名數(shù)據(jù)類型是否為空是否主鍵默認值描述IPVARCHAR(16)NOYES用戶IPHOSTVARCHAR(30)YESNONULL主機名稱NAMEVARCHAR(20)YESNONULL姓名TOOLTIPVARCHAR(50)YESNONULL提示文本ICONVARCHAR(50)YESNONULL頭像圖標(2)TB_LOCATION(窗體位置信息表)窗體位置表用來保存窗體的位置和大小,表TB_LOCATION如下所示表42窗體位置信息表TB_LOCATION字段名數(shù)據(jù)類型是否為空是否主鍵默認值描述XLOCATIONINTYESNONULLX軸坐標YLOCATIONINTYESNONULLY軸坐標HEIGHTINTYESNONULL窗體高度WIDTHINTYESNONULL窗體寬度貴陽學(xué)院畢業(yè)設(shè)計(論文)7第五章詳細設(shè)計和代碼實現(xiàn)第一節(jié)主窗體模塊的設(shè)計與實現(xiàn)一、界面設(shè)計主窗體界面是本系統(tǒng)的用戶列表,它由用戶列表、系統(tǒng)選項卡、公告提示等組成。其中系統(tǒng)選項卡用于切換不同的管理界面,包括系統(tǒng)設(shè)計和系統(tǒng)工具界面3。主窗體的效果圖如下所示圖51主窗體界面示意圖二、實現(xiàn)過程主窗體實現(xiàn)部分包括創(chuàng)建主窗體和記錄窗體位置。其中創(chuàng)建主窗體的步驟如下1創(chuàng)建JXCFRAME類,在類中創(chuàng)建窗體的對象,為窗體添加選項卡面板,并添加用戶列表、系統(tǒng)工具、系統(tǒng)設(shè)置3個選項卡和狀態(tài)欄標簽、公告按鈕等屬性。在構(gòu)造方法貴陽學(xué)院畢業(yè)設(shè)計(論文)8中初始化窗體上的控件。數(shù)據(jù)庫操作類、首選項對象等屬性,為窗體添加時間監(jiān)聽器、為公告信息按鈕添加監(jiān)聽器等。2初始化SOCKET服務(wù)器,指定端口為1111,如初始化失敗,則提示服務(wù)器端口被占用或本軟件已運行,并退出本系統(tǒng)。用于接收其他用戶發(fā)送的通信信息。關(guān)鍵代碼如下TRY/啟動通訊服務(wù)端口SSNEWDATAGRAMSOCKET1111CATCHSOCKETEXCEPTIONE2IFE2GETMESSAGESTARTSWITH“ADDRESSALREADYINUSE“SHOWMESSAGEDIALOG“服務(wù)端口被占用,或者本軟件已經(jīng)運行?!癝YSTEMEXIT03CHECKPLACARD方法,用于檢測系統(tǒng)公告,當(dāng)公告路徑中存在系統(tǒng)公告時,將從文件中獲取完整信息,調(diào)用PUSHMESSAGE()方法將信息壓入公告信息棧中。關(guān)鍵代碼如下PRIVATEVOIDCHECKPACARD/檢測公告信息方法STRINGPLACARDDIRPREFERENCESGET“PLACARDPATH“,NULLIFPLACARDDIRNULLPUSHMESSAGE“未設(shè)置公告路徑“RETURNFILEPLACARDNEWFILEPLACARDDIRTRYIFPLACARDEXISTSSCANNERSCNEWSCANNERNEWFILEINPUTSTREAMPLACARDWHILESCHASNEXTLINEPLACARDSTRAPPENDSCNEXTLINEPUSHMESSAGEPLACARDSTRTOSTRINGCATCHFILENOTFOUNDEXCEPTIONEPUSHMESSAGE“公告路徑錯誤,或公告文件不存在“4INITUSERINFOBUTTON()方法用于初始化本地用戶信息,并在主窗體左上角顯示本地貴陽學(xué)院畢業(yè)設(shè)計(論文)9用戶的頭像和名稱,會在用戶更改本地用戶名稱時同步更新。5MAIN()方法,本方法首先獲取用戶設(shè)置的界面外觀,然后調(diào)用UIMANAGER類設(shè)置指定的外觀,生成主窗體對象。最后初始化服務(wù)器端口和系統(tǒng)欄圖標。關(guān)鍵代碼如下PUBLICSTATICVOIDMAINSTRINGARGSTRYSTRINGLAFPREFERENCESGET“LOOKANDFEEL“,“JAVA默認“/獲取用戶選擇的外觀IFLAFINDEXOF“當(dāng)前系統(tǒng)“1UIMANAGERSETLOOKANDFEELUIMANAGERGETSYSTEMLOOKANDFEELCLASSNAME/設(shè)置外觀EQFRAMENEWEQFRAMESETVISIBLETRUE/顯示窗體FRAMESYSTEMTRAYINITIAL/初始化系統(tǒng)欄FRAMESERVER/啟動服務(wù)端口FRAMECHECKPLACARD/檢測系統(tǒng)公告CATCHEXCEPTIONEEPRINTSTACKTRACE記錄窗體的位置步驟如下1為窗體添加監(jiān)聽器,當(dāng)改變窗體的位置和大小時,將調(diào)用SAVELOCATION方法將窗體和位置大小保存到數(shù)據(jù)庫中。2SAVELOCATION,該方法中調(diào)用了DAO類中的UPDATELOCATION將窗體的位置和大小保存到數(shù)據(jù)庫中。第二節(jié)公共模塊的設(shè)計與實現(xiàn)一、界面設(shè)計在本系統(tǒng)的項目空間中,有部分模塊是公用的,或者多個模塊甚至整個系統(tǒng)的配置信息是被多個模塊重復(fù)調(diào)用完成業(yè)務(wù)的邏輯。其中有關(guān)數(shù)據(jù)庫的操作、連接數(shù)據(jù)庫、創(chuàng)建本機IP的默認用戶(并添加到數(shù)據(jù)庫中)、從數(shù)據(jù)庫中獲取窗體位置和大小、添加或刪除指定用戶、更新用戶信息等4。貴陽學(xué)院畢業(yè)設(shè)計(論文)10二、實現(xiàn)過程公共模塊包括數(shù)據(jù)庫操作類和系統(tǒng)工具類。其中DAO類主要負責(zé)有關(guān)數(shù)據(jù)庫的操作,該類在構(gòu)造方法中驅(qū)動并連接數(shù)據(jù)庫,然后將構(gòu)造方法設(shè)置為PRIVATE私有屬性,通過靜態(tài)的GETDAO獲取DAO類的實例對象,這是簡單的單例模式。在連接數(shù)據(jù)庫時,可以指定CREATE參數(shù)為TRUE直接創(chuàng)建數(shù)據(jù)庫,但在此之前需要調(diào)用DBEXIST方法判斷數(shù)據(jù)庫是否存在。DAO類的關(guān)鍵代碼如下PUBLICCLASSDAO/數(shù)據(jù)庫驅(qū)動PRIVATESTATICFINALSTRINGDRIVER“ORGAPACHEDERBYJDBCEMBEDDEDDRIVER“PRIVATESTATICSTRINGURL“JDBCDERBYDB_EQ“/數(shù)據(jù)庫URLPRIVATESTATICCONNECTIONCONNNULL/數(shù)據(jù)庫連接PRIVATESTATICDAODAONULLPRIVATEDAOTRYCLASSFORNAMEDRIVERIFDBEXISTSCONNDRIVERMANAGERGETCONNECTIONURL“CREATETRUE“CREATETABLEELSECONNDRIVERMANAGERGETCONNECTIONURLADDDEFUSERCATCHEXCEPTIONEEPRINTSTACKTRACEJOPTIONPANESHOWMESSAGEDIALOGNULL,“數(shù)據(jù)庫連接異常,或者本軟件已經(jīng)運行?!癝YSTEMEXIT0PRIVATEBOOLEANDBEXISTS/測試數(shù)據(jù)庫是否存在BOOLEANBEXISTSFALSEFILEDBFILEDIRNEWFILE“DB_EQ“IFDBFILEDIREXISTS貴陽學(xué)院畢業(yè)設(shè)計(論文)11BEXISTSTRUERETURNBEXISTSPUBLICSTATICDAOGETDAO/獲取DAO實例IFDAONULLDAONEWDAORETURNDAOPUBLICLISTGETUSERS/獲取所有用戶LISTUSERSNEWARRAYLISTTRYSTRINGSQL“SELECTFROMTB_USERS“STATEMENTSTMCONNCREATESTATEMENTRESULTSETRSSTMEXECUTEQUERYSQLWHILERSNEXTUSERUSERNEWUSERUSERSETIPRSGETSTRING1USERSETHOSTRSGETSTRING2USERSETNAMERSGETSTRING3USERSETTIPTEXTRSGETSTRING4USERSETICONRSGETSTRING5USERSADDUSERRSCLOSECATCHSQLEXCEPTIONEEPRINTSTACKTRACERETURNUSERSRESOURCE類是企業(yè)內(nèi)部通信系統(tǒng)中的工具類,該類中的方法都是靜態(tài)的,可以直接調(diào)用,而不用創(chuàng)建RESOURCE類的實例對象。這些工具方法包括搜索用戶的方法、登錄公共資源的方法、信使群發(fā)的方法和單條信息發(fā)送的方法。貴陽學(xué)院畢業(yè)設(shè)計(論文)12第三節(jié)系統(tǒng)托盤模塊的設(shè)計與實現(xiàn)一、界面設(shè)計系統(tǒng)托盤模塊用于定義系統(tǒng)欄圖標。本系統(tǒng)的主窗體是繼承對話框窗體編寫的,該窗體在系統(tǒng)任務(wù)欄不會顯示任務(wù)標題,如果主窗體最小化之后將會隱藏,這時必須使用快捷鍵或者系統(tǒng)托盤中的圖標執(zhí)行顯示窗體的命令。系統(tǒng)托盤包含相應(yīng)的菜單,右鍵點擊會彈出選擇菜單,菜單包括三個選項,分別是“訪問服務(wù)器”、“打開”、“退出”。系統(tǒng)托盤的設(shè)計效果圖如下所示圖52系統(tǒng)托盤示意圖二、實現(xiàn)過程在JDK60中,AWT新增加了SYSTEMTRAY類和TRAYICON類,它們可以在系統(tǒng)托盤區(qū)創(chuàng)建一個托盤程序。SYSTEMTRAY類表示桌面右下角的系統(tǒng)托盤,系統(tǒng)托盤由運行在桌面上的所有應(yīng)用程序共享,可以使用GETSYSTEMTRAY方法獲取系統(tǒng)托盤對象,該方法總是對每個應(yīng)用程序返回相同的實例。并不是所有的操作系統(tǒng)都支持系統(tǒng)托盤,如果當(dāng)前系統(tǒng)不支持托盤的話,該方法將自動拋出異常。為避免程序出現(xiàn)錯誤,在獲取系統(tǒng)托盤實例之前,需要檢查系統(tǒng)托盤是否支持??梢哉{(diào)用ISSUPPORT來實現(xiàn)5。SYSTEMTRAY類可以包含一個或多個TRAYICON類的實例,即系統(tǒng)欄圖標,可以使用ADD將它們添加到托盤,TRAYICON對象由圖像、彈出菜單和一組相關(guān)監(jiān)聽器組成。創(chuàng)建系統(tǒng)托盤的關(guān)鍵代碼如下TRYSTRINGTITLE“EQ通訊軟件“/系統(tǒng)欄提示文本的標題STRINGCOMPANY“貴州省XXX科技有限公司“/系統(tǒng)欄提示文本SYSTEMTRAYSYSTRAYSYSTEMTRAYGETSYSTEMTRAY/獲取系統(tǒng)托盤對象IMAGEIMAGETOOLKITGETDEFAULTTOOLKITGETIMAGEEQCLASSGETRESOURCE“/ICONS/SYSTRAYPNG“/系統(tǒng)欄圖標TRAYICONNEWTRAYICONIMAGE,TITLE“N“COMPANY,CREATEMENU/創(chuàng)建系統(tǒng)欄圖標對象貴陽學(xué)院畢業(yè)設(shè)計(論文)13TRAYICONSETIMAGEAUTOSIZETRUE/設(shè)置自動大小TRAYICONADDACTIONLISTENERNEWSYSTRAYACTIONLISTENER/添加監(jiān)聽器SYSTRAYADDTRAYICON/添加系統(tǒng)欄圖標到系統(tǒng)托盤TRAYICONDISPLAYMESSAGETITLE,COMPANY,MESSAGETYPEINFOCATCHEXCEPTIONEEPRINTSTACKTRACE第四節(jié)系統(tǒng)工具模塊的設(shè)計與實現(xiàn)一、界面設(shè)計本系統(tǒng)的工具模塊起到維護系統(tǒng)的作用,包括更換程序外觀、。設(shè)置IP范圍、用戶搜索和系統(tǒng)更新、設(shè)置系統(tǒng)公告路徑、設(shè)置公共程序路徑、系統(tǒng)登錄等功能。在該系統(tǒng)第一次運行的時,用戶搜索功能可以搜索內(nèi)部網(wǎng)絡(luò)中所有正在運行的計算機。本系統(tǒng)工具模塊中使用了JAVA的LOOKANDFEEL外觀技術(shù),不同的外觀中控件的外觀也會不同,就比如我們常用的電腦中,WINDOWS經(jīng)典樣式和WINDOWSXP樣式外觀的按鈕、列表、菜單、工具欄甚至窗體的外觀都不相同。在本系統(tǒng)中提供了“當(dāng)前系統(tǒng)”和“JAVA默認值”兩個外觀選項,其中“JAVA默認值”是SWING默認的外觀,不需要特別設(shè)置,而“當(dāng)前系統(tǒng)”外觀需要使用相應(yīng)的方法獲取當(dāng)前系統(tǒng)的外觀名稱,然后將該外觀應(yīng)用于默認的外觀6。系統(tǒng)工具的設(shè)計效果圖如下所示貴陽學(xué)院畢業(yè)設(shè)計(論文)14圖53系統(tǒng)工具界面示意圖二、實現(xiàn)過程(1)CREATESYSTOOLPANEL方法,用于創(chuàng)建系統(tǒng)工具選項卡,在該選項卡中包括界面選擇、用戶搜索和系統(tǒng)操作3部分,其中系統(tǒng)操作用于程序更新,它們都被添加到系統(tǒng)工具面板中,CREATESYSTOOLPANEL方法必須設(shè)置好面板的布局和初始化工作。關(guān)鍵代碼如下PRIVATEJSCROLLPANECREATEUSERLIST/用戶列表面板JSCROLLPANESCROLLPANENEWJSCROLLPANESCROLLPANESETHORIZONTALSCROLLBARPOLICYSCROLLPANECONSTANTSHORIZONTAL_SCROLLBAR_NEVERADDUSERPOPUPCHATTREE,GETPOPUPMENU/為用戶添加彈出菜單SCROLLPANESETVIEWPORTVIEWCHATTREESCROLLPANESETBORDERNEWEMPTYBORDER0,0,0,0CHATTREEADDMOUSELISTENERNEWCHATTREEMOUSELISTENER貴陽學(xué)院畢業(yè)設(shè)計(論文)15RETURNSCROLLPANE(2)在CREATESYSTOOLPANEL方法中創(chuàng)建界面選擇部分,該部分以列表控件顯示了兩種外觀選擇,當(dāng)用戶選擇其中以種外觀并單擊“確定”按鈕之后,選擇外觀會保存到首選項中,然后提示重新運行本軟件。(3)在CREATESYSTOOLPANEL方法中創(chuàng)建用戶搜索部分,包括搜索列表、搜索進度條和“搜索新用戶”3個控件,當(dāng)單擊“搜索新用戶”按鈕時,系統(tǒng)會根據(jù)用戶在系統(tǒng)設(shè)置界面所設(shè)置的IP搜索范圍搜索所有計算機信息,并創(chuàng)建相應(yīng)的用戶對象,然后保存到數(shù)據(jù)庫中。(4)創(chuàng)建“搜索新用戶”按鈕的事件監(jiān)聽器SEARCHUSERACTIONLISTENER類,調(diào)用RESOURCE工具類的SEARCHUSERS方法搜索指定IP范圍內(nèi)的所有用戶。系統(tǒng)工具類中的SEARCHUSERS()方法,該方法用于搜索局域網(wǎng)內(nèi)的通信用戶,也就是搜索企業(yè)內(nèi)的所有職工。本方法將獲取用戶指定的IP范圍,并在該范圍內(nèi)搜索所有可以訪問的計算機,如果用戶沒有指定IP范圍,系統(tǒng)默認的是192168011921680255。關(guān)鍵代碼如下TRYFORINTLIPSINT0L添加“IP“CATCH(EXCEPTIONE)EPRINTSTACKTRACE第五節(jié)用戶管理模塊的設(shè)計與實現(xiàn)一、界面設(shè)計用戶管理模塊類似于聊天軟件的好友列表,其中包含所有用戶信息,另外在用戶名稱上單擊鼠標右鍵,會彈出相應(yīng)的管理菜單,在該菜單中包含“添加用戶”、“更名”、“刪除用戶”、“信使群發(fā)(在沒有多選用戶的情況下無法進行信使群發(fā))”、“訪問主機資源”和“訪問公共程序”,其中“訪問主機資源”是訪問該用戶的共享文件夾7。界面設(shè)計的效果圖如下所示圖54用戶管理界面示意圖貴陽學(xué)院畢業(yè)設(shè)計(論文)17二、實現(xiàn)過程(1)創(chuàng)建USERTREERANDERER類,該類繼承JPANEL類成為一個面板控件,同時該類也實現(xiàn)了TREECELLRENDERER接口成為樹節(jié)點的渲染器。該類的構(gòu)造方法接受3個圖標參數(shù),分別用于樹節(jié)點的打開、關(guān)閉和葉節(jié)點的圖標。(2)在USERTREERANDERER類中的GETTREECELLRENDERERCOMPONENT方法,渲染樹節(jié)點的界面樣式。本方法獲取主窗體的寬度,并使用該寬度設(shè)置節(jié)點的寬度,是節(jié)點與窗體同寬度,當(dāng)選擇某個節(jié)點時,該方法將使用指定顏色繪制節(jié)點的邊框,以突出該節(jié)點被選擇的效果。(3)創(chuàng)建CHATTREE類,該類繼承JTREE自定義的樹控件,并且使用了之前定義的USERTREERANDERER樹節(jié)點渲染器,SORTUSERS方法,此方法是一個內(nèi)部線程,該線程獲取本地的IP地址,使用該地址從數(shù)據(jù)庫中獲取本地用戶對象,并將本地用戶設(shè)置在用戶列表首位。然后從數(shù)據(jù)庫中獲取其它用戶對象。使第一個用戶處于被選擇狀態(tài),并更新狀態(tài)欄的用戶人數(shù)。關(guān)鍵代碼如下PRIVATESYNCHRONIZEDVOIDSORTUSERS/排序用戶列表NEWTHREADNEWRUNNABLEPUBLICVOIDRUNTRYTHREADSLEEP100ROOTREMOVEALLCHILDRENSTRINGIPINETADDRESSGETLOCALHOSTGETHOSTADDRESS/獲取本地IPUSERLOCALUSERDAOGETUSERIP/從數(shù)據(jù)庫中獲取自己的信息IFLOCALUSERNULL/把自己顯示在首位DEFAULTMUTABLETREENODENODENEWDEFAULTMUTABLETREENODELOCALUSERROOTADDNODEUSERMAPDAOGETUSERSITERATORITERATORUSERMAPITERATORWHILEITERATORHASNEXT/遍歷用戶集合USERUSERITERATORNEXTIFUSERGETIPEQUALSLOCALUSERGETIPCONTINUE貴陽學(xué)院畢業(yè)設(shè)計(論文)18ROOTADDNEWDEFAULTMUTABLETREENODEUSER/添加用戶到根節(jié)點TREEMODELRELOADCHATTREETHISSETSELECTIONROW0/使第一個節(jié)點被選擇IFEQNULLEQSETSTATIC“總?cè)藬?shù)“GETROWCOUNT/更新狀態(tài)欄標簽CATCHEXCEPTIONEEPRINTSTACKTRACESTART(4)在CHATTREE中的DELUSER方法,用于刪除當(dāng)前用戶列表中選擇的用戶對象。該方法首先獲取選擇的樹節(jié)點,從該節(jié)點中獲取綁定的用戶對象,經(jīng)用戶確認后刪除用戶信息,最后調(diào)用根節(jié)點的REMOVE方法刪除該用戶節(jié)點。另外是ADDUSER方法,用于在用戶列表中添加新用戶。本方法首先使用傳遞的IP參數(shù)到數(shù)據(jù)庫中獲取對應(yīng)的用戶對象,如成功獲取,說明數(shù)據(jù)庫已存在該用戶,系統(tǒng)會提示“已存在”,當(dāng)確定該IP可以訪問后,為該IP地址創(chuàng)建一個新的用戶并添加到數(shù)據(jù)庫中。關(guān)鍵代碼如下PUBLICBOOLEANADDUSERSTRINGIP,STRINGOPRATION/添加用戶TRYIFIPNULLRETURNFALSEUSEROLDUSERDAOGETUSERIP/從數(shù)據(jù)庫中獲取IP相同用戶IFOLDUSERNULL/如果數(shù)據(jù)庫中不存在該用戶INETADDRESSADDRINETADDRESSGETBYNAMEIP/該用戶可以訪問IFADDRISREACHABLE1500STRINGHOSTADDRGETHOSTNAME/獲取它的主機名稱ROOTADDNEWDEFAULTMUTABLETREENODENEWUSERHOST,IPUSERNEWUSERNEWUSER/創(chuàng)建新用戶對象NEWUSERSETIPIP/設(shè)置IPNEWUSERSETHOSTHOST/設(shè)置主機名稱NEWUSERSETNAMEHOST/設(shè)置用戶姓名NEWUSERSETICON“1GIF“/設(shè)置頭像DAOADDUSERNEWUSER/添加該用戶到數(shù)據(jù)庫中貴陽學(xué)院畢業(yè)設(shè)計(論文)19SORTUSERS/用于重新加載用戶列表IFOPRATIONEQUALS“SEARCH“JOPTIONPANESHOWMESSAGEDIALOGEQFRAME,“用戶“HOST“添加成功“,“添加用戶“,JOPTIONPANEINFORMATION_MESSAGERETURNTRUEELSE/如果該用戶IP不可訪問IFOPRATIONEQUALS“SEARCH“/并且不是系統(tǒng)自動搜索JOPTIONPANESHOWMESSAGEDIALOGEQFRAME,“檢測不到用戶IP“IP,“錯誤添加用戶“,JOPTIONPANEERROR_MESSAGE/對話框提示錯誤RETURNFALSEELSE/如果數(shù)據(jù)庫中存在該IP用戶IFOPRATIONEQUALS“SEARCH“/并且不是系統(tǒng)自動搜索JOPTIONPANESHOWMESSAGEDIALOGEQFRAME,“已經(jīng)存在用戶IP“IP,“不能添加用戶“,JOPTIONPANEWARNING_MESSAGE/提示已存在RETURNFALSECATCHEXCEPTIONEEPRINTSTACKTRACERETURNFALSE第六節(jié)通信模塊的設(shè)計與實現(xiàn)一、界面設(shè)計通信模塊是本系統(tǒng)中的核心模塊,它用于局域網(wǎng)內(nèi)的用戶之間的通信,而卻這種通信方式能夠?qū)崿F(xiàn)多個用戶之間的通信,不會存在像我們打電話一樣時的占線問題,增加了任務(wù)分配的方式。本模塊可以使用UDP協(xié)議和信史兩種方式發(fā)送信息8。通信的聊天界面設(shè)計效果圖如下所示貴陽學(xué)院畢業(yè)設(shè)計(論文)20圖57聊天界面示意圖我們通常所說的通信工具,都是采用的客戶機/服務(wù)器C/S架構(gòu)的,C/S結(jié)構(gòu)是這樣的一種結(jié)構(gòu)它包括一個客戶機或前端,一個服務(wù)器或稱后端,客戶機的作用是訪問和處理遠程服務(wù)器上的數(shù)據(jù),服務(wù)器的作用是接收和處理客戶機的數(shù)據(jù)請求。有時,可能有多個客戶向同一個服務(wù)器同時請求服務(wù),這就需要服務(wù)器決定怎樣處理這些請求。CLIENT/SERVER結(jié)構(gòu)是當(dāng)前數(shù)據(jù)庫應(yīng)用程序中極為流行的一種方式。尤其是網(wǎng)絡(luò)技術(shù)的發(fā)展,使得當(dāng)前很多系統(tǒng)都采用這種方式進行構(gòu)造,其最大的優(yōu)點是將計算機工作任務(wù)分別由客戶端和服務(wù)器端來共同完成,這樣有利于充分合理的利用系統(tǒng)資源。另外它的服務(wù)器端還可以將信息集中起來,任何客戶機都可以通過訪問服務(wù)器而獲得所需的信息。CLIENT/SERVER模型最終可歸結(jié)為一種“請求/應(yīng)答”關(guān)系。一個請求總是首先被客戶發(fā)出,然后服務(wù)器總是被動地接收請求,返回客戶需要的結(jié)果。在客戶發(fā)出一個請求之前,服務(wù)進程一直處于休眠狀態(tài)。一個客戶提出請求后,服務(wù)進程被“喚醒”并且為客戶提供服務(wù),對客戶的請求做出所需要的應(yīng)答8。其工作示意圖如下貴陽學(xué)院畢業(yè)設(shè)計(論文)21圖55C/S模式下的網(wǎng)絡(luò)拓撲圖但是本系統(tǒng)如果要做成C/S架構(gòu)的話,需要在局域網(wǎng)內(nèi)設(shè)置一個服務(wù)器,而在企業(yè)局域網(wǎng)內(nèi),網(wǎng)絡(luò)結(jié)構(gòu)不是集中式的而是分布式的,可能沒有一臺機器來充當(dāng)服務(wù)器這個角色,同樣用服務(wù)器會增加本系統(tǒng)的設(shè)置難度,不符合本系統(tǒng)方便、快捷的特色,同時增加服務(wù)器后,所有數(shù)據(jù)都會經(jīng)過服務(wù)器保存處理,需要有專人看管維護服務(wù)器,顯得更麻煩。所以本系統(tǒng)采用每個程序自己既充當(dāng)客戶機,又充當(dāng)服務(wù)器,自己來維護網(wǎng)絡(luò)上的用戶列表,每兩個客戶端進行連接的時候都直接連通而不用增設(shè)服務(wù)器中轉(zhuǎn)。示意圖如下圖56無公共服務(wù)器模式下的網(wǎng)絡(luò)拓撲圖當(dāng)然,上述圖示只是通信數(shù)據(jù)的一個流向示意圖,不是真正的網(wǎng)絡(luò)拓撲結(jié)構(gòu),也就貴陽學(xué)院畢業(yè)設(shè)計(論文)22是說其中的服務(wù)器可能只是裝了服務(wù)器軟件的一臺普通工作站。在底層的數(shù)據(jù)流向中,也就是網(wǎng)絡(luò)的物理連結(jié),并非我們這個軟件所能決定的,我們的所做都是在一個透明的數(shù)據(jù)通信層之上的。在該模塊中,使用基于UDP協(xié)議的數(shù)據(jù)報和套接字實現(xiàn)計算機之間的信息通信。UDP(USERDATAGRAMPROTOCOL)協(xié)議就是“用戶數(shù)據(jù)報協(xié)議”,它是一種無連接的協(xié)議,在該協(xié)議進行數(shù)據(jù)傳輸時,發(fā)送方只需要知道對方的IP地址和端口號就可以發(fā)送數(shù)據(jù)了,并不需要進行連接,當(dāng)遠程主機端口號處于監(jiān)聽狀態(tài)時,則UDP必須處于連接狀態(tài)。JAVA中對UDP數(shù)據(jù)報的發(fā)送和接收是通過DATAGRAMSOCKET類實現(xiàn)的,DATAGRAMPACKET類表示UDP數(shù)據(jù)包,它封裝了數(shù)據(jù)報的屬性和數(shù)據(jù)9。這兩個類的工作流程圖如下所示圖58DATAGAMSOCKET和DATAGRAMPACKET類的工作流程圖二、實現(xiàn)過程(1)創(chuàng)建TELFRAME類,在該類中集成JFRAME類實現(xiàn)SWING的窗體,定義窗體需要的所有控件,列入發(fā)送按鈕、接受信息的文本框、輸入發(fā)送信息的文本框、信使按鈕以及各種滾動面板等,定義訪問數(shù)據(jù)庫的DAO實例,在通信窗口右側(cè)顯示的用戶列表使用DAO實例從數(shù)據(jù)庫中獲取10。(2)GETINSTANCE方法,用于獲取唯一的窗體實例。該方法創(chuàng)建的所有窗體實例都DATAGRAMSOCKET端口1234DATAGRAMPACKET目的HOST4321DATAGRAMPACKET目的HOST4321DATAGRAMPACKET目的HOST4321DATAGRAMSOCKET端口4321DATAGRAMSOCKET端口1234DATAGRAMSOCKET端口4321DATAGRAMPACKET目的HOST4321貴陽學(xué)院畢業(yè)設(shè)計(論文)23會保存到MAP集合類的實例中,窗體的實例對象會一直保存在這個集合類中,并且用戶再次打開已存在的窗體時,將直接從集合類中獲取,不再創(chuàng)建新的窗體實例。關(guān)鍵代碼如下PUBLICSTATICSYNCHRONIZEDTELFRAMEGETINSTANCEDATAGRAMSOCKETSSARG,DATAGRAMPACKETDP,CHATTREETREEARGSTRINGTMPIPDPGETADDRESSGETHOSTADDRESS/獲取數(shù)據(jù)報的IP地址IFINSTANCECONTAINSKEYTMPIP/如果集合中不存在該用戶窗體TELFRAMEFRAMENEWTELFRAMESSARG,DP,TREEARG/創(chuàng)建窗體實例INSTANCEPUTTMPIP,FRAME/將窗體實例保存到集合中FRAMERECEIVEINFOTREEARG/接受信息IFFRAMEISVISIBLE/如果窗體處于隱藏狀態(tài)FRAMESETVISIBLETRUE/顯示窗體FRAMESETSTATEJFRAMENORMALFRAMETOFRONT/將窗體放置在最前端RETURNFRAMEELSE/如果集合中包含該用戶窗體TELFRAMEFRAMEINSTANCEGETTMPIP/從集合中獲取該窗體實例FRAMESETBUFSDPGETDATAFRAMERECEIVEINFOTREEARG/接受信息IFFRAMEISVISIBLEFRAMESETVISIBLETRUE/顯示窗體FRAMESETSTATEJFRAMENORMALFRAMETOFRONTRETURNFRAME(3)在構(gòu)造方法中初始化TELFRAME類的所有控件屬性,該構(gòu)造方法接收DATAGRAMSOCKET、DATAGRAMPACKET和CHATTREE類的三個參數(shù),他們分別是數(shù)據(jù)SOCKET服務(wù)、數(shù)據(jù)報和用戶列表的實例對象。(4)RECEIVEINFO方法,用于接收其它用戶發(fā)送的通信信息。該方法中首先從數(shù)據(jù)報中獲取發(fā)送信息的用戶IP地址,然后從數(shù)據(jù)庫中獲取該IP用戶的姓名,同時將這些用戶IP、用戶姓名和發(fā)送時間以藍色字體顯示到信息文本框中,最后將數(shù)據(jù)報中的通信信息文本追加到信息文本框中。貴陽學(xué)院畢業(yè)設(shè)計(論文)24關(guān)鍵代碼如下PRIVATEVOIDRECEIVEINFOFINALCHATTREETREE/接收信息IFBUFLENGTH0STRINGRTEXTNEWSTRINGBUFREPLACE“CHAR0,“STRINGHOSTADDRESSDPGETADDRESSGETHOSTADDRESSSTRINGINFODAOGETUSERHOSTADDRESSGETNAMEINFOINFO“NEWDATETOLOCALESTRING”APPENDRECEIVETEXTINFO,COLORBLUEAPPENDRECEIVETEXTRTEXT“N“,NULL(5)創(chuàng)建“發(fā)送”按鈕的事件監(jiān)聽器SENDACTIONLISTENER類,它實現(xiàn)了ACTIONLISTENER接口,擁有處理按鈕事件的能力,它在ACTIONPERFORMED方法中獲取數(shù)據(jù)報中的通信信息。創(chuàng)建MESSAGEBUTTONACTION內(nèi)部類,該類是“信使”按鈕的事件

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論