即時(shí)通訊工具畢業(yè)設(shè)計(jì)_第1頁
已閱讀1頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  開發(fā)電子白板和即時(shí)通訊集成的工具</p><p><b>  摘 要</b></p><p>  本文主要介紹了電子白板的開發(fā)應(yīng)用和即時(shí)通訊工具的集合。本設(shè)計(jì)開發(fā)兩者有機(jī)結(jié)合在一起的集成工具,它不僅具有即時(shí)通訊的功能,也具有電子白板的功能。主要通過運(yùn)用JAVA的相關(guān)知識(shí),并且?guī)氲谌絡(luò)ar包,來設(shè)計(jì)出能寫會(huì)畫的電子白板,并集成通訊工具,用戶擁

2、有自己的賬戶密碼,來連接服務(wù)器并能相互交流。</p><p>  本次課程設(shè)計(jì)是配合JAVA程序設(shè)計(jì)課程,幫助我們深入學(xué)習(xí)掌握J(rèn)AVA語言,熟練運(yùn)用這個(gè)工具來編寫的。通過課程設(shè)計(jì)各個(gè)項(xiàng)目的綜合訓(xùn)練,培養(yǎng)學(xué)生實(shí)際分析問題、編程和動(dòng)手能力、提高學(xué)生的綜合素質(zhì)。本課程設(shè)計(jì)嘗試使用一些較生動(dòng)的示例和設(shè)計(jì)項(xiàng)目,激發(fā)學(xué)生學(xué)習(xí)興趣,引導(dǎo)學(xué)生主動(dòng)學(xué)習(xí),正確理解、接受需要重點(diǎn)掌握的知識(shí)點(diǎn),為參加項(xiàng)目開發(fā)及更深入學(xué)習(xí)做好準(zhǔn)備。<

3、;/p><p>  關(guān)鍵詞 電子白板;即時(shí)通訊;集成;第三方;JAVA</p><p>  Developing the electronic board and instant messaging integrated tool</p><p><b>  Abstract</b></p><p>  This pape

4、r mainly introduces the development and application of electronic board and instant messaging tools collection. This design development combines both functions which are instant messaging and electronic board with integr

5、ated tool. It mainly uses the knowledge of JAVA and bring it into the third party jar bag to designelectronic board which can write and draw. And it And integrates communication tools. Users have their own account passw

6、ords to connect to the server and communicate with </p><p>  This course is designed to cooperate with JAVA program design course to help us deeply learn JAVA language and skillfully use this tool to write.

7、We can train students' practical analysis problem, programming and the beginning ability and improve the students' comprehensive quality through the comprehensive training of course design of each project. The co

8、urse is designed to try to use some more vivid examples and design projects to stimulate the students' the interest of study, to guide the stu</p><p>  Keywords electronic board; Instant communication;

9、Integration; The third party; JAVA</p><p><b>  目 錄</b></p><p><b>  第1章 緒論3</b></p><p><b>  1.1引言3</b></p><p><b>  1.2概要3

10、</b></p><p>  1.2.1研究背景3</p><p>  1.2.2研究及意義4</p><p>  第2章 開發(fā)環(huán)境及相關(guān)技術(shù)介紹5</p><p>  2.1開發(fā)環(huán)境5</p><p>  2.1.1開發(fā)環(huán)境及相關(guān)技術(shù)介紹5</p><p>  2

11、.2JAVA技術(shù)簡(jiǎn)介6</p><p>  第3章 系統(tǒng)分析與概要設(shè)計(jì)8</p><p>  3.1需解決的有關(guān)技術(shù)問題8</p><p>  3.2最終目標(biāo)9</p><p>  3.3運(yùn)行環(huán)境9</p><p>  3.4總體設(shè)計(jì)9</p><p>  3.4.1設(shè)計(jì)

12、思路9</p><p>  3.4.2類的分析9</p><p>  3.4.3程序設(shè)計(jì)的相關(guān)流程10</p><p>  第4章 電子白板和通訊工具10</p><p>  4.1電子白板10</p><p>  4.1.1主窗體的設(shè)計(jì)10</p><p>  4.1.2

13、菜單欄和工具欄的設(shè)計(jì)11</p><p>  4.1.3事件響應(yīng)的處理11</p><p>  4.1通訊工具11</p><p>  4.2.1服務(wù)器端流程圖11</p><p>  4.2.2客戶端流程圖12</p><p>  4.3電子白板與通訊工具的集成13</p><

14、;p>  4.3.1軟件的集成13</p><p>  4.3.2集成的優(yōu)勢(shì)14</p><p>  4.3.3白板與通訊的集成特點(diǎn)15</p><p>  第5章 程序框架與運(yùn)行原理15</p><p>  5.1操作對(duì)象和數(shù)據(jù)對(duì)象15</p><p>  5.1.1箭頭對(duì)象( 矩形、直線、

15、橢圓)15</p><p>  5.1.2繪畫操作(刪除、填充)16</p><p>  5.1.3數(shù)據(jù)對(duì)象16</p><p>  5.2賬戶聊天流程17</p><p>  第6章 程序截圖18</p><p>  6.1菜單賬戶主界面18</p><p>  6.1.1

16、工具菜單欄18</p><p>  6.2繪圖界面以及聊天界面19</p><p>  6.2.1工具菜單欄19</p><p>  6.2.2畫圖模塊19</p><p>  6.2.3聊天窗口22</p><p><b>  結(jié) 論22</b></p>&

17、lt;p><b>  致 謝23</b></p><p>  參 考 文 獻(xiàn)24</p><p><b>  緒 論</b></p><p><b>  引言</b></p><p>  Java不依賴平臺(tái)的特點(diǎn)使它受到廣泛的關(guān)注,Java已成為網(wǎng)絡(luò)時(shí)代最重要的語言

18、之一。</p><p>  目前,Java語言不僅是一門被廣泛使用的編程語言,而且已成為軟件設(shè)計(jì)開發(fā)者應(yīng)當(dāng)掌握的一門基礎(chǔ)語言。因?yàn)楹芏嘈碌募夹g(shù)領(lǐng)域都涉及到Java語言,國(guó)內(nèi)外許多大學(xué)已將Java語言列入本科教學(xué)計(jì)劃,而IT行業(yè)對(duì)Java人才的需求也在不斷的增長(zhǎng),因此,掌握J(rèn)ava已經(jīng)成為共識(shí)。</p><p>  Java是一門說簡(jiǎn)單也不簡(jiǎn)單,說難也不難的課程。所以,我們?cè)趯W(xué)習(xí)的過程中要根

19、據(jù)自己的具體情況,合理安排編程訓(xùn)練時(shí)間,相信編程能力會(huì)在不知不覺中得到提高。</p><p>  在此次的課程設(shè)計(jì)實(shí)踐中,我學(xué)到了教科書上沒有的東西。這次課程設(shè)計(jì),我按照課程設(shè)計(jì)的要求,分塊實(shí)現(xiàn)程序的功能。在實(shí)踐中我遇到許多的問題,但我都克服,最終我成功的完成了這次課程設(shè)計(jì)。從中我充分理解了Java面對(duì)對(duì)象的特性,并體會(huì)到Java與C語言的不同之處。</p><p>  在實(shí)踐的同時(shí),我又

20、從中成長(zhǎng)了許多,特別是在對(duì)程序的編譯和調(diào)試中掌握了許多的技巧和方法,為今后的其他計(jì)算機(jī)語言的學(xué)習(xí)奠定了一定的基礎(chǔ)。</p><p>  集成通訊工具的電子白板上的內(nèi)容既可以是一些基本的簡(jiǎn)單圖形( 如: 點(diǎn)、直線、矩形、 圓等),也可以是文字、圖像甚至可以是音頻、視頻,白板的數(shù)據(jù)是共享數(shù)據(jù)。當(dāng)一個(gè)用戶修改了其中數(shù)據(jù)之后,把立即修改通知給其他用戶,讓他們及時(shí)更新自己的白板視圖, 其更新結(jié)果應(yīng)該立即反映在其他所有用戶的

21、視圖上。 因此,這要求偶我們熟悉并能熟練使用java語言,能掌握掌握網(wǎng)絡(luò)通訊原理。</p><p><b>  概要</b></p><p><b>  研究背景</b></p><p> ?、?網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,更多地帶給我們便利,譬如網(wǎng)絡(luò)上的交流。隨著網(wǎng)民的需求及技術(shù)的發(fā)展,交流平臺(tái)上衍生出網(wǎng)上對(duì)話、遠(yuǎn)程教學(xué)這類的軟

22、件及網(wǎng)站。最普遍的,像我們都用的QQ軟件、飛信,阿里旺旺;微博,空間,論壇及電子白板。</p><p> ?、?電子白板可以與電腦進(jìn)行信息通訊,將電子白板連接到計(jì)算機(jī),并利用投影機(jī)將計(jì)算機(jī)上的內(nèi)容投影到電子白板屏幕上,在專門的應(yīng)用程序的支持下,可以構(gòu)造一個(gè)大屏幕、交互式的協(xié)作會(huì)議或教學(xué)環(huán)境。利用特定的定位筆代替鼠標(biāo)在白板上進(jìn)行操作,可以運(yùn)行任何應(yīng)用程序,可以對(duì)文件進(jìn)行編輯、注釋、保存等在計(jì)算機(jī)上利用鍵盤及鼠標(biāo)可以

23、實(shí)現(xiàn)的任何操作。</p><p><b>  研究及意義</b></p><p> ?、?將電子白板有機(jī)得集成與通訊工具,這將我們普遍用的通訊軟件多媒體化。這對(duì)于人們更方便的交流具有重大的意義。</p><p>  將交流式電子白板應(yīng)用于教育具有重大意義。電子交互白板為資源型教學(xué)活動(dòng)提供技術(shù)支撐;白板操作系統(tǒng)擴(kuò)展、豐富了傳統(tǒng)計(jì)算機(jī)多媒體的工具功

24、能,更加提高了視覺效果;提高教學(xué)效益,使教學(xué)的計(jì)劃性更強(qiáng)。 電子交互白板有利于教師開展團(tuán)隊(duì)教學(xué)研究;還能提高學(xué)生的注意力和理解力;便于學(xué)生復(fù)習(xí)以往的知識(shí)內(nèi)容并促進(jìn)學(xué)生掌握新知識(shí);有利于調(diào)動(dòng)學(xué)生在課堂上主動(dòng)學(xué)習(xí)的積極性和參與性等。</p><p> ?、?電子白板由硬件電子感應(yīng)白板(White Board)和軟件白板操作系統(tǒng)集成。它的核心組件由電子感應(yīng)白板、感應(yīng)筆、計(jì)算機(jī)和投影儀組成。電子感應(yīng)白板是一塊具有正常黑板

25、尺寸、在計(jì)算機(jī)軟硬件支持下工作的大感應(yīng)屏幕,其作用相當(dāng)于計(jì)算機(jī)顯示器并代替?zhèn)鹘y(tǒng)的黑板。電子感應(yīng)筆承擔(dān)電子白板書寫筆和計(jì)算機(jī)鼠標(biāo)的雙重功用,其作用代替?zhèn)鹘y(tǒng)的粉筆。教師或?qū)W生直接用感應(yīng)筆在白板上操作(相當(dāng)于傳統(tǒng)教學(xué)中師生用粉筆在黑板上操作):寫字或調(diào)用各種軟件,然后通過電磁感應(yīng)反饋到計(jì)算機(jī)中并迅速通過投影儀投射到電子白板上。白板操作系統(tǒng)是存在于計(jì)算機(jī)中的一個(gè)軟件平臺(tái),它不僅支撐人與白板、計(jì)算機(jī)、投影儀之間的信息交換,而且它還自帶一個(gè)強(qiáng)大的學(xué)

26、科素材庫和資源制作工具庫,并且是一個(gè)兼容操作各種軟件的智能操作平臺(tái),教師可以在白板上隨意調(diào)用各種素材或應(yīng)用軟件教學(xué)。白板集傳統(tǒng)的黑板、計(jì)算機(jī)、投影儀等多種功能于一身,使教師使用非常方便。</p><p>  開發(fā)環(huán)境及相關(guān)技術(shù)介紹 </p><p><b>  開發(fā)環(huán)境&

27、lt;/b></p><p>  開發(fā)環(huán)境及相關(guān)技術(shù)介紹</p><p>  開發(fā)語言為java,開發(fā)工具選用MyEclipse。</p><p>  ⑴ Java是一種簡(jiǎn)單的,面向?qū)ο蟮?,分布式的,解釋的,健壯安全的,結(jié)構(gòu)中立的,可移植的,性能很優(yōu)異的,多線程的動(dòng)態(tài)語言。</p><p>  這里采用java作為開發(fā)語言主要是基于ja

28、va的面向?qū)ο蠛涂梢浦残浴?lt;/p><p>  MyEclipse是一個(gè)開放源碼的,基于java的可擴(kuò)展開放平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過插件組建構(gòu)建開發(fā)環(huán)境。</p><p>  Java語言程序主要應(yīng)用于網(wǎng)絡(luò)服務(wù)器,一般計(jì)算機(jī),嵌入式設(shè)備,智能卡這四個(gè)領(lǐng)域。Java2提供了開發(fā)這四類應(yīng)用程序的標(biāo)準(zhǔn)框架和運(yùn)行環(huán)境,其開發(fā)平臺(tái)有:</p><p&

29、gt;  (1)J2SE標(biāo)準(zhǔn)版本(JAVA2 Stantdard Edition):定位在客戶端,主要用于桌面應(yīng)用軟件的編程。</p><p>  (2)J2ME(Java2 Micro Edition):主要用于嵌入式系統(tǒng)開發(fā),如手機(jī)和PDA編程。</p><p> ?。?)J2EE企業(yè)版本(Java2 Enterprise Editon):定位在服務(wù)器端Java2的企業(yè)版,主要用于分布

30、式的網(wǎng)絡(luò)程序開發(fā),如電子商務(wù)網(wǎng)站和ERP系統(tǒng)</p><p> ?、?Java平臺(tái)演進(jìn)到Java2后,Java平臺(tái)分別針對(duì)不同領(lǐng)域的需求被分成四個(gè)版本,亦即J2EE、J2SE、J2ME以及JavaCard</p><p><b>  JAVA技術(shù)簡(jiǎn)介</b></p><p>  1.Java語言的特點(diǎn)</p><p>&

31、lt;b> ?。?)簡(jiǎn)單性</b></p><p>  Java的風(fēng)格類似于C++,因而C++程序員是非常熟悉的。從某種意義上講,Java語言C及C++的一個(gè)變種,因此,C++程序員可以很快就掌握J(rèn)ava編程技術(shù)。 </p><p><b> ?。?)平臺(tái)無關(guān)性</b></p><p>  Java引進(jìn)虛擬機(jī)原理,并運(yùn)行于虛擬

32、機(jī),實(shí)現(xiàn)不同平臺(tái)之間的Java接口。使用Java編寫的程序能在世界范圍內(nèi)共享。Java的數(shù)據(jù)類型與機(jī)器無關(guān)。</p><p><b> ?。?)安全性</b></p><p>  Java的編程類似C++,但舍棄了C++的指針對(duì)存儲(chǔ)器地址的直接操作,程序運(yùn)行時(shí),內(nèi)存由操作系統(tǒng)分配,這樣可以避免病毒通過指針入侵系統(tǒng)。它提供了安全管理器,防止程序的非法訪問。</p&

33、gt;<p><b>  (4)類裝載</b></p><p>  ClassLoader通過將本機(jī)與網(wǎng)絡(luò)資源類的名稱分開來保持安全性。應(yīng)為裝載類時(shí)總要經(jīng)過檢查,這樣避免了特洛依木馬現(xiàn)象的出現(xiàn)。從網(wǎng)絡(luò)上下載的類被調(diào)進(jìn)一個(gè)與源相關(guān)的私有的名字域。當(dāng)一個(gè)私有類訪問另一個(gè)類時(shí),build-in(本機(jī)類)首先被檢查,然后檢查相關(guān)的類。這樣就避免了破壞本積累情況的出現(xiàn)。</p>

34、;<p><b> ?。?)面向?qū)ο?lt;/b></p><p>  Java吸收了C++面向?qū)ο蟮母拍?,將?shù)據(jù)封裝于類中,實(shí)現(xiàn)了程序的簡(jiǎn)潔性和便于維護(hù)性,使程序代碼可以只需一次編譯就可反復(fù)利用。</p><p><b> ?。?)分布式</b></p><p>  Java建立在TCP/IP網(wǎng)絡(luò)平臺(tái)上,提供了用

35、HTTP和FTP協(xié)議傳送和接收信息的庫函數(shù),使用其相關(guān)技術(shù)可以十分方便的構(gòu)建分布式應(yīng)用系統(tǒng)。</p><p><b>  (7)健壯性</b></p><p>  Java致力與檢查程序在編譯和運(yùn)行時(shí)的錯(cuò)誤,并自動(dòng)回收內(nèi)存,減少了內(nèi)存出錯(cuò)的可能性。Java取消了C語言的結(jié)構(gòu)、指針、#define語句、多重繼承、goto語句、操作符、重載等不易被掌握的特性,提供垃圾收集

36、器自動(dòng)回收不用的內(nèi)存空間。</p><p><b>  (8)解釋的</b></p><p>  Java解釋器(運(yùn)行系統(tǒng)),能直接運(yùn)行目標(biāo)代碼指令。鏈接程序通常比編譯程序所需資源少,所以程序員可以在創(chuàng)建源程序上花更多的時(shí)間。</p><p><b> ?。?)高性能</b></p><p>  如

37、果解釋器速度較快,Java可以在運(yùn)行時(shí)直接將目標(biāo)代碼翻譯成機(jī)器指令。Sun用直接解釋器,一秒鐘內(nèi)可調(diào)用300,000個(gè)過程。翻譯目標(biāo)代碼的速度與C/C++的性能沒有什么區(qū)別。</p><p>  2.Java的運(yùn)行機(jī)制</p><p>  Java虛擬機(jī)(Java Virtual Machine,JVM):Java虛擬機(jī)可以理解成一個(gè)以字節(jié)碼為機(jī)器指令的CPU;對(duì)不同的運(yùn)行平臺(tái),有不同的虛

38、擬機(jī);Java虛擬機(jī)機(jī)制屏蔽了底層運(yùn)行平臺(tái)的差別,真正實(shí)現(xiàn)了“一次編譯,隨處運(yùn)行”。</p><p>  3.Java的垃圾回收</p><p>  Java垃圾回收(Garbage collection):回收沒有使用的內(nèi)存空間。在C/C++等語言中,是由程序員負(fù)責(zé)回收無用的內(nèi)存。Java語言消除了程序員回收無用內(nèi)存的職責(zé),它提供一種系統(tǒng)級(jí)線程跟蹤存貯空間的分配情況,并在JVM空閑的時(shí)候

39、,檢查并釋放那些可以被釋放的內(nèi)存空間。垃圾回收在java運(yùn)行過程中自動(dòng)進(jìn)行,程序員無法控制和干預(yù)。</p><p>  4.Java的多線程</p><p>  Java的多線程功能使得在一個(gè)程序里可同時(shí)執(zhí)行多個(gè)小任務(wù)。線程有時(shí)也稱小進(jìn)程,是一個(gè)大進(jìn)程里分出來的小的獨(dú)立的進(jìn)程。因此Java實(shí)現(xiàn)的多線程技術(shù)比C和C++更健壯,多線程帶來的更大的好處是更好的交互性能和實(shí)時(shí)控制性能。當(dāng)然實(shí)時(shí)控制

40、性能還取決于系統(tǒng)本身(UNIX,Windows,Macintosh等),在開發(fā)難易程度和性能上都比單線程要好。任何用過當(dāng)前瀏覽器的人,都感覺為調(diào)一幅圖片而等待是一件很煩惱的事。在Java里,可用一個(gè)線程來調(diào)一幅圖片,而我們可以訪問HTML里的其它信息而不必等待。</p><p>  在Java里實(shí)現(xiàn)線程有兩種方式,一種是繼承Thread類,覆蓋它的run()方法,另一種是實(shí)現(xiàn)Runnable接口,實(shí)現(xiàn)它的run(

41、)方法。Java中的線程有四種狀態(tài),分別是:new(新建狀態(tài)),Runnable(可運(yùn)行狀態(tài)),Blocked(阻塞狀態(tài)),Dead(死亡狀態(tài)),其中可運(yùn)行狀態(tài)又分為運(yùn)行狀態(tài)和等待狀態(tài),另外將等待池和鎖池從阻塞狀態(tài)分離。如果一個(gè)線程結(jié)束了,也就說明他是一個(gè)死線程了。當(dāng)程序員調(diào)用一個(gè)線程實(shí)例的start()的方法的時(shí)候,這時(shí)線程進(jìn)入就緒狀態(tài),但并不是運(yùn)行狀態(tài),當(dāng)虛擬機(jī)開始分配給他CPU的運(yùn)行時(shí)間片的時(shí)候線程開始進(jìn)入運(yùn)行狀態(tài),當(dāng)線程進(jìn)入等待

42、狀態(tài)(例如等待某個(gè)事件發(fā)生的時(shí)候),這時(shí)候線程處于掛起狀態(tài)。</p><p><b>  系統(tǒng)分析與概要設(shè)計(jì)</b></p><p>  需解決的有關(guān)技術(shù)問題</p><p>  使用面向過程的語言如C、Pascal、Ada、COBOL等設(shè)計(jì)程序,需要選擇數(shù)據(jù)結(jié)構(gòu)、設(shè)計(jì)算法,再把算法翻譯成代碼。像Java等面向?qū)ο笳Z言不僅仍然具有面向過程語言的

43、特點(diǎn),而且通過抽象、封裝、繼承和多態(tài)增加了靈活性、模塊性、清晰性和可重用性等有益特征。</p><p>  在面向過程程序設(shè)計(jì)中,數(shù)據(jù)和對(duì)數(shù)據(jù)的操作時(shí)分離的,因而,這種做法需要把數(shù)據(jù)傳遞到方法中,面向?qū)ο蟪绦蛟O(shè)計(jì)把數(shù)據(jù)和屬于它們的操作放入叫做對(duì)象的實(shí)體中,這樣做解決了面向過程程序設(shè)計(jì)中不可避免的許多問題。面向?qū)ο蟪绦蛟O(shè)計(jì)中,所有對(duì)象都與屬性和活動(dòng)聯(lián)系在一起,因此,面向?qū)ο蟪绦蛟O(shè)計(jì)是一種更貼近真實(shí)世界的模型組織程序

44、。使用對(duì)象可以改進(jìn)軟件的可重用性,使程序更容易開發(fā)和維護(hù)。要以對(duì)象的觀點(diǎn)來考慮Java程序,Java程序可以看成相互合作的對(duì)象所構(gòu)成的集合。</p><p>  2. Java不僅是一門編程語言,它還是一個(gè)具有龐大類和接口構(gòu)成的API庫的開發(fā)部署平臺(tái)。要開發(fā)自己的項(xiàng)目,必須使用這些API中的類和接口,遵從它們的習(xí)慣和規(guī)則。為開發(fā)Java圖形用戶界面程序而進(jìn)行API設(shè)計(jì)是體現(xiàn)面向?qū)ο笤瓌t的一個(gè)優(yōu)秀范例。</p

45、><p>  學(xué)習(xí)Java圖形用戶界面程序設(shè)計(jì)API的體系結(jié)構(gòu),學(xué)習(xí)利用圖形用戶界面組件開發(fā)界面友好的應(yīng)用程序和applet。</p><p>  3. GUI可以使系統(tǒng)對(duì)用戶更友好且更易于使用。創(chuàng)建GUI需要?jiǎng)?chuàng)造性和關(guān)于GUI組件工作原理的知識(shí)。在Java中,GUI組件非常靈活多變,因而可以創(chuàng)建豐富多彩的用戶界面。</p><p>  許多Java集成環(huán)境都提供用于可

46、視化設(shè)計(jì)和開發(fā)GUI接口的工具。這可以最少的編碼快速為Java應(yīng)用程序或applet集成用戶界面(UI)的元素。然而,任何工具都不是萬能的,有時(shí)需要修改這些工具生成的程序。因此,在使用可視化工具之前,非常有必要學(xué)習(xí)Java GUI程序的基本概念。</p><p><b>  最終目標(biāo)</b></p><p>  借助Java的語言面向?qū)ο蟮膬?yōu)勢(shì),創(chuàng)造一個(gè)能寫會(huì)畫的的電

47、子白板。白板中類似于簡(jiǎn)單的畫圖工具,有鉛筆,橡皮,填充,集合圖形以及顏色選擇等功能。并且集成于通訊工具,每個(gè)用戶有自己賬戶密碼來連接服務(wù)器,并且實(shí)現(xiàn)同一服務(wù)器登陸的用戶能在白板下方的聊天板塊自由交流。</p><p><b>  運(yùn)行環(huán)境</b></p><p>  正確安裝配置了JRE1.6以上的Windows和Linux的PC機(jī)都可正常運(yùn)行。</p>

48、<p><b>  總體設(shè)計(jì)</b></p><p><b>  設(shè)計(jì)思路</b></p><p>  創(chuàng)建一個(gè)Mapadeo主界面,工具欄里有控制菜單欄,工具菜單欄有,創(chuàng)建電子白板、連接服務(wù)器、以及賬戶密碼管理;還有語言菜單欄,并設(shè)置了英語和德語。</p><p>  新建電子白板:有文件菜單,提供輸出圖片;

49、選項(xiàng)菜單,用來保存,加載,清除操作。下面則是畫板界面,用戶可以在此選擇繪圖。最下方還有聊天板塊。</p><p>  賬戶管理設(shè)置:提供服務(wù)器選擇,添加用戶名,密碼和地點(diǎn)選項(xiàng)。</p><p><b>  類的分析</b></p><p>  程序整體包括2個(gè)部分,分為實(shí)現(xiàn)畫圖部分和實(shí)現(xiàn)聊天部分,分別分成2個(gè)包來實(shí)現(xiàn)代碼。net.zestflo

50、od.mapadeo包中,主要類有:ArrowObject、ChatInstanceInterface、ChatInstanceManager、DataObject、EllipseObject、Formula、FreehandObject、Friendlist、GUIMapadeo、LineObject、Objectmanagement、RectangleObject、XMLStream以及Main主類。</p><

51、p>  net.zestflood.mapadeo.friendlist包中含有:AccountManager、ChatInstanceHandler、ChatInstanceHandlerMUC、ChatInstanceHandlerSingle、ChatListener、ChatWindow、Contact、initWhiteBoard、reqWhiteBoard、reqWhiteBoardMUC、RosterChanger、

52、RosterChangerDialog、RosterManager、Settings、XMLControlExtension、XMLControlExtensionProvider、XMLExtension、XMLExtensionProvider、XMLIQExtension、XMLIQExtensionListener這些類。</p><p><b>  程序設(shè)計(jì)的相關(guān)流程</b><

53、;/p><p>  。。。。。。 《未完待續(xù)》 。。。。。。</p><p><b>  電子白板和通訊工具</b></p><p><b>  電子白板</b></p><p>  實(shí)際上就是1個(gè)JAVA畫板。</p><p><b>  主窗體的設(shè)計(jì)</b&g

54、t;</p><p>  主類(GUIMapad)用來生成主界面,完成白板的主要框架。主類由JFrame派生出來、主界面由菜單欄、選項(xiàng)欄和畫圖區(qū)域三部分組成,布局格式采用BorderLayout布局格式。</p><p>  菜單欄和工具欄的設(shè)計(jì)</p><p>  菜單欄包括文件菜單欄和選項(xiàng)菜單欄。其中,文件菜單欄作用是圖像輸出;選項(xiàng)菜單欄包括保存,載入,清除等。

55、在主類中添加并對(duì)菜單欄和選項(xiàng)欄添加事件監(jiān)聽。</p><p><b>  事件響應(yīng)的處理</b></p><p>  (1).選項(xiàng)菜單欄中的保存,載入事件處理:Java把每個(gè)文件都視作順序字節(jié)流。如果要在Java中進(jìn)行文件處理,則必須用到Java.io包。這個(gè)包定義了一些流類,選用FileInputStream(從文件中讀入數(shù)據(jù))和FileOutStream(從文件輸

56、出數(shù)據(jù)),通過這些文件的對(duì)象便可以載入文件。這些流相應(yīng)地從InputSream和OutputStream派生,這些文件均使用文件流,所以必須將文件結(jié)構(gòu)化以適應(yīng)程序的要求。我們需要對(duì)保存的對(duì)象序列化,然后以輸出流的方式保存。</p><p>  (2).鼠標(biāo)畫圖:由于白板主要用來畫圖,所以需要在程序中添加對(duì)鼠標(biāo)按下、拖動(dòng)、進(jìn)入。退出、移動(dòng)和單擊事件進(jìn)行監(jiān)聽并進(jìn)行處理。內(nèi)部類定義了完成鼠標(biāo)按下、松開、進(jìn)入、退出的事件

57、響應(yīng)以及完成鼠標(biāo)拖動(dòng)和移動(dòng)事件的響應(yīng)。</p><p><b>  通訊工具</b></p><p><b>  服務(wù)器端流程圖</b></p><p><b>  客戶端流程圖</b></p><p>  電子白板與通訊工具的集成</p><p>  

58、跳過集成,我們來設(shè)計(jì)電子白板和通訊工具,那只能是2個(gè)軟件,并且兩者之間沒任何的聯(lián)系。通過集成,能電子白板和通訊工具結(jié)合起來變成1個(gè)軟件,2種不同的功能,并且互相聯(lián)系。這就是功能的拓展。</p><p><b>  軟件的集成</b></p><p>  軟件集成就是用一種較好的方式,使多種軟件的功能集成到一個(gè)軟件里,或是把軟件的各部分組合在一起。</p>

59、<p>  軟件集成是指將完成某項(xiàng)工作的一組相關(guān)的應(yīng)用程序組織起來在一個(gè)統(tǒng)一的操作環(huán)境下以綜合一致和整體連貫的形態(tài)來進(jìn)行工作。數(shù)據(jù)集成模型的基本思想史對(duì)各種軟件組件的數(shù)據(jù)存取進(jìn)行集成。這樣,用戶在存取數(shù)據(jù)時(shí)就可以繞過相應(yīng)的應(yīng)用軟件,而直接獲取該軟件所創(chuàng)建并存儲(chǔ)的相應(yīng)信息。例如:我們可以利用數(shù)據(jù)庫網(wǎng)關(guān)訪問使用IBM DB2數(shù)據(jù)的客戶訂單系統(tǒng)和使用Oracle數(shù)據(jù)庫的客戶賬單系統(tǒng)。網(wǎng)關(guān)負(fù)責(zé)將信息從各個(gè)數(shù)據(jù)庫中抽出,存放到一個(gè)用來

60、評(píng)估客戶購物習(xí)慣的數(shù)據(jù)挖掘應(yīng)用程序中。這樣,在使用網(wǎng)關(guān)時(shí),我們就可以繞過訂單處理軟件和賬單軟件而直接獲取數(shù)據(jù)。</p><p>  數(shù)據(jù)集成模型通過直接訪問軟件所創(chuàng)建、維護(hù)并存儲(chǔ)的相應(yīng)信息來實(shí)現(xiàn)軟件集成,這樣做通常是為了在應(yīng)用軟件之間實(shí)現(xiàn)數(shù)據(jù)的重用和同步。</p><p>  如果你想要實(shí)現(xiàn)以下目標(biāo),就應(yīng)該使用數(shù)據(jù)集成模型:</p><p>  從多個(gè)信息源綜合數(shù)據(jù)

61、來進(jìn)行分析和決策。例如,從多個(gè)包含用戶信息的數(shù)據(jù)源獲取信息,并把它們送到統(tǒng)計(jì)軟件包。</p><p>  向多個(gè)應(yīng)用軟件提供某公共信息源的只讀訪問權(quán)限。例如,創(chuàng)建一個(gè)有完整用戶信息的數(shù)據(jù)庫,并運(yùn)行多個(gè)數(shù)據(jù)挖掘或統(tǒng)計(jì)軟件訪問該數(shù)據(jù)庫的情況。</p><p>  從一個(gè)數(shù)據(jù)源提取信息并轉(zhuǎn)換為合適的格式,以此來更新另一數(shù)據(jù)源的信息。例如,想要更新所有數(shù)據(jù)源的客戶地址信息,使它們保持同步和一致。&

62、lt;/p><p><b>  集成的優(yōu)勢(shì)</b></p><p>  集成就是將多種軟件的功能集中在一個(gè)軟件,并達(dá)到互相聯(lián)系的作用</p><p>  在過去的30年中,應(yīng)用在信息系統(tǒng)中的集成概念已經(jīng)引人注目的變化。最開始集成主要是將一套不同的硬件聯(lián)系在一起支持從頭開發(fā)的軟件。但隨著硬件的發(fā)展,使得構(gòu)建更加復(fù)雜的軟件成為可能,集成的特性發(fā)生的變化

63、。集成越來越意味著耦合硬件和軟件來形成一個(gè)系統(tǒng)?,F(xiàn)代集成的概念是由軟件主導(dǎo)的。企業(yè)越來越多地致力于將他們已有的軟件與新軟件進(jìn)行集成來實(shí)現(xiàn)新的功能?;ヂ?lián)網(wǎng)絡(luò)的出現(xiàn)使我們可以通過網(wǎng)絡(luò)在不同的硬件平臺(tái)上使用這些軟件,從而使集成工作比以往更加復(fù)雜。EAI代表了系統(tǒng)設(shè)計(jì)方法的技術(shù)的變革,其目的是減少現(xiàn)今系統(tǒng)集成工作的復(fù)雜程度。</p><p>  隨著集成特性的改變,集成方案選項(xiàng)的復(fù)雜度和廣泛度都有了一定的提高。包括在應(yīng)用

64、程序間共享數(shù)據(jù)并保證其正確性和一致性,提供應(yīng)用程序的集成前端訪問,通過工作流程來聯(lián)系各個(gè)應(yīng)用程序,并以革新的方式從現(xiàn)有應(yīng)用程序中提取信息來創(chuàng)建新的應(yīng)用程序。</p><p>  EAI的最終目標(biāo)是使一個(gè)企業(yè)可以快速、方便地將不同應(yīng)用程序集成到一起。</p><p>  白板與通訊的集成特點(diǎn)</p><p>  我們通過電子白板能進(jìn)行自由式地畫圖,并且能在下方的聊天窗

65、口與同服務(wù)器的用戶進(jìn)行交流。而且進(jìn)行賬戶密碼的管理,能講完成的畫圖輸出與他人交流,這就是集成給我們帶來的好處。</p><p>  集成也簡(jiǎn)化了訪問數(shù)據(jù)庫的過程。當(dāng)數(shù)據(jù)庫使用接口很容易訪問時(shí),或是在使用中間件向新的應(yīng)用程序提供多數(shù)據(jù)源集成時(shí),數(shù)據(jù)集成模型就可加快集成速度。</p><p>  每種集成都與一種數(shù)據(jù)模型相聯(lián)系。如果數(shù)據(jù)模型發(fā)生改變,那么集成就會(huì)被破壞。這就使數(shù)據(jù)集成對(duì)變化非常

66、敏感。由于系統(tǒng)通常是不斷演變的,因此這樣的改變將會(huì)導(dǎo)致為了維護(hù)集成而付出大量工作。</p><p><b>  程序框架與運(yùn)行原理</b></p><p><b>  操作對(duì)象和數(shù)據(jù)對(duì)象</b></p><p>  箭頭對(duì)象( 矩形、直線、橢圓)</p><p>  矩形、直線、橢圓等對(duì)象與箭頭流程

67、類似。</p><p>  繪畫操作(刪除、填充)</p><p><b>  數(shù)據(jù)對(duì)象</b></p><p><b>  賬戶聊天流程</b></p><p><b>  將數(shù)據(jù)存儲(chǔ)、配置</b></p><p>  創(chuàng)建賬戶上選定的服務(wù)器</

68、p><p>  自動(dòng)創(chuàng)建一個(gè)隨機(jī)的房間在服務(wù)器上一個(gè)隨機(jī)的昵稱</p><p>  數(shù)據(jù)包發(fā)送數(shù)據(jù)到聊天室</p><p>  發(fā)送一個(gè)有效的簡(jiǎn)單的聊天信息</p><p>  解析傳入的包,并將它們發(fā)送到當(dāng)前白板</p><p><b>  離開聊天室</b></p><p>

69、;<b>  被調(diào)用(多次)回應(yīng)</b></p><p><b>  請(qǐng)求同步事件</b></p><p><b>  提供同步數(shù)據(jù)</b></p><p><b>  程序截圖</b></p><p><b>  菜單賬戶主界面</b&g

70、t;</p><p><b>  工具菜單欄</b></p><p><b>  控制菜單</b></p><p>  (1).新建電子白板</p><p><b> ?。?). 賬戶管理</b></p><p><b>  語言選擇菜單<

71、;/b></p><p>  繪圖界面以及聊天界面</p><p><b>  工具菜單欄</b></p><p><b>  畫圖模塊</b></p><p><b>  鉛筆 </b></p><p><b>  移動(dòng)</b&g

72、t;</p><p><b>  選擇圖標(biāo)</b></p><p><b>  箭頭</b></p><p><b>  直線</b></p><p><b>  橢圓</b></p><p><b>  矩形</b

73、></p><p><b>  刪減</b></p><p><b>  填充</b></p><p><b>  顏色選擇</b></p><p><b>  線條粗細(xì)選擇</b></p><p><b>  輸入

74、板塊</b></p><p><b>  聊天窗口</b></p><p><b>  結(jié) 論</b></p><p>  此軟件基本達(dá)到理想效果,在編寫這一軟件的過程中我學(xué)到了很多java編程知識(shí),并學(xué)會(huì)了如何快速的改正程序中的錯(cuò)誤。</p><p>  經(jīng)過一周的課程設(shè)計(jì),java

75、編程方面的知識(shí)收獲很大,但這只是java編程知識(shí)的冰山一角,還有很多東西沒有學(xué)到。這次課程設(shè)計(jì)受益匪淺,不僅鍛煉了我做事堅(jiān)持不懈的心態(tài),也慢慢地培養(yǎng)了我不懂就查書的好習(xí)慣,我的自學(xué)能力也有了一定的提高,我更明白了搞計(jì)算機(jī)這行,要學(xué)到真正的技術(shù)完全要靠自己,在課堂上只能學(xué)到最基本的東西,但這最基本的東西也一定要學(xué)好。</p><p>  畢業(yè)在即,在以后的工作學(xué)習(xí)中,我還會(huì)將更多的時(shí)間與精力投入到Java的學(xué)習(xí)中,

76、不斷為自己所學(xué)的知識(shí)補(bǔ)充新鮮血液。</p><p><b>  致 謝</b></p><p>  光陰似箭,日月如梭。轉(zhuǎn)眼間,大學(xué)生活即將結(jié)束。在此,請(qǐng)?jiān)试S我在這大學(xué)四年里給予我?guī)椭㈥P(guān)心的同學(xué)、朋友、老師及家人致上最衷心的謝意。</p><p>  首先感謝數(shù)理學(xué)院各位老師,在學(xué)習(xí)和生活上給我的幫助與支持,特別是負(fù)責(zé)我這次畢業(yè)設(shè)計(jì)的時(shí)xx

77、老師,在我設(shè)計(jì)中遇到的問題,他都會(huì)不厭其煩的幫助解決,給我指導(dǎo),從選題、構(gòu)思到修改定稿,我都仔細(xì)聆聽了x老師的寶貴意見。借著畢業(yè)設(shè)計(jì)的機(jī)會(huì),也向他們表示深深的謝意,祝他們:家庭幸福美滿,事業(yè)蒸蒸日上。</p><p>  感謝數(shù)理學(xué)院,一個(gè)讓我留下美好回憶的人生驛站。</p><p><b>  參 考 文 獻(xiàn)</b></p><p>  [1

78、] 孫衛(wèi)琴 《Java面向?qū)ο缶幊獭?電子工業(yè)出版社,2007.2. [2](美)梁(Y.Daniel Liang) 著 萬波,鄭海紅,潘蓉 等 譯 《Java語言程序設(shè)計(jì):基礎(chǔ)篇(原書第6版)》 機(jī)械工業(yè)出版社</p><p>  [3] 陸正中,馬進(jìn)德,石正貴 《JBuilder軟件開發(fā)實(shí)踐》 清華大學(xué)出版社,2004.3. </p><p>  [4] 孫鑫 《Java

79、web開發(fā)詳解》 電子工業(yè)出版社,2006.8. </p><p>  [5] 明日科技 王國(guó)輝 王易.《JSP數(shù)據(jù)庫開發(fā)案例精選》 人民郵電出版社, 2006.5 </p><p>  [6] 耿祥義,張躍平 《JSP實(shí)用教程》 清華大學(xué)出版社, 2003</p><p>  [7] 天宏工作室譯 《JSP程序設(shè)計(jì)指南》 清華大學(xué)出版社,2002</p

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(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)論