關于java畢業(yè)論文設計--英漢互譯系統(tǒng)_第1頁
已閱讀1頁,還剩36頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  摘 要</b></p><p>  英漢互譯系統(tǒng)是基于J2EE開發(fā)的,在J2SDK和Eclipse平臺上使用java與Microsoft Access開發(fā)的,主要是解決個人及廣大的朋友們實現英譯漢、漢譯英的功能,本系統(tǒng)實現對生詞、錯詞進行添加、刪除和修改。之所以選擇J2EE來開發(fā)本系統(tǒng)有諸多的優(yōu)越性,下面分別介紹:</p><p>

2、<b>  J2EE的優(yōu)越性:</b></p><p>  J2EE是一套全然不同于傳統(tǒng)應用開發(fā)的技術架構,包含許多組件,主要可簡化且規(guī)范應用系統(tǒng)的開發(fā)與部署,進而提高可移植性、安全與再用價值。</p><p>  Java語言的優(yōu)越性和前景:</p><p>  java是以撰寫跨平臺應用軟件的面向對象的程序設計語言,是由Sun Micros

3、ystems公司于1995年5月推出的Java程序設計語言和Java平臺(即JavaSE, JavaEE, JavaME)的總稱。Java 技術具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應用于個人PC、數據中心、游戲控制臺、科學超級計算機、移動電話和互聯(lián)網,同時擁有全球最大的開發(fā)者專業(yè)社群。在全球云計算和移動互聯(lián)網的產業(yè)環(huán)境下,Java更具備了顯著優(yōu)勢和廣闊前景。</p><p><b>  作

4、品的選材:</b></p><p>  現在我們處于一個信息的時代,隨著時代的進步,語言也伴隨這進步,我們處在一個形形色色的語言大家庭中,會其他國家的語言變得尤為重要,而英語在這些語言中又顯得突出了,之所以選擇做一個英漢互譯的翻譯軟件是為了幫助自己和他人能學習更多的英語詞匯,提升自己的技能水平。</p><p>  系統(tǒng)用程序的方式解決了那些非常復雜的操作,比如翻越詞典,所有的

5、步驟只需在電腦或者手機上安裝即可查詢。只需要查詢,添加,刪除和修改簡單的幾步操作就可以完成,非常簡單實用。</p><p>  【關鍵詞】 java技術;英漢互譯;查詢;刪除;修改;添加</p><p><b>  Abstract</b></p><p>  Translation system is based on J2EE develo

6、pment, developed using java the J2SDK and Eclipse platform and Microsoft Access, mainly to solve personal and the majority of the friends realized English to Chinese and Chinese to English functionality of the system to

7、achieve the new words,wrong word to add, delete, and modify. Chose J2EE to develop the system has many advantages, the following were introduced:The superiority of J2EE: J2EE is a set of completely different from t

8、raditional applica</p><p>  【Key Words】java technology; Translation; queries; delete; modified; Add</p><p><b>  目 錄</b></p><p>  第一章 問題定義及內容簡介1</p><p>  

9、1.1問題的定義1</p><p>  1.2 內容簡介1</p><p>  第二章 研究背景與研究意義2</p><p>  2.1 研究背景2</p><p>  2.2 研究意義2</p><p>  第三章 開發(fā)平臺與語言簡介4</p><p>  3.1 Eclipse簡

10、介4</p><p>  3.2 java 簡介4</p><p>  3.3 Access 簡介5</p><p>  第四章 系統(tǒng)需求分析及可行性分析6</p><p>  4.1 系統(tǒng)需求分析6</p><p>  4.1.1 現狀分析6</p><p>  4.1.2 功能需

11、求分析6</p><p>  4.1.3 數據庫需求分析6</p><p>  4.1.4 系統(tǒng)數據流程分析7</p><p>  4.2 系統(tǒng)總體功能介紹8</p><p>  4.3 模塊功能介紹8</p><p>  4.3.1 主界面功能8</p><p>  4.3.2 英

12、譯漢功能9</p><p>  4.3.3 漢譯英功能9</p><p><b>  4.4 數據項9</b></p><p>  4.5 系統(tǒng)難點分析10</p><p>  第 五 章 系統(tǒng)設計11</p><p>  5.1系統(tǒng)的總體設計11</p><p&g

13、t;  5.1.1系統(tǒng)的功能模塊設計11</p><p>  5.2 系統(tǒng)的詳細設計12</p><p>  5.2.1 概念設計12</p><p>  5.3 系統(tǒng)的物理設計14</p><p>  第 六 章 總體設計15</p><p>  6.1 算法的實現15</p><p&

14、gt;  6.2 字符串的聯(lián)系15</p><p>  6.3 數據庫設計15</p><p>  6.3.1 數據庫圖15</p><p>  6.3.2 數據庫的約束與關系15</p><p>  6.4 系統(tǒng)的實現16</p><p>  6.4.1 主界面功能實現16</p><

15、p>  6.4.2 英譯漢功能實現17</p><p>  6.4.3 漢譯英功能及詞庫備份實現18</p><p>  6.4.4 查詢類的實現及數據庫綁定19</p><p>  6.4.5 添加類的實現及數據庫綁定20</p><p>  6.4.6 修改類的實現及數據庫綁定21</p><p>

16、  6.4.7 刪除類的實現及數據庫綁定22</p><p>  第 七 章 Socket編程25</p><p>  7.1 Socket編程25</p><p>  7.2 Socket的實現25</p><p>  第 八 章 程序總結29</p><p>  8.1 本系統(tǒng)的優(yōu)點29</p&g

17、t;<p>  8.2 本系統(tǒng)的不足及改良29</p><p>  8.3 設計和實現過程中的收獲29</p><p><b>  參考文獻30</b></p><p><b>  參考書籍:30</b></p><p><b>  謝辭31</b>&l

18、t;/p><p>  第一章 問題定義及內容簡介</p><p><b>  1.1問題的定義</b></p><p>  解決英譯漢、漢譯英以及傳統(tǒng)的英漢互譯的軟件缺陷進行以下的改變:</p><p>  1.實現添加生詞到數據庫,方便下次查詢,備份詞庫、避免數據丟失。</p><p>  2.修改

19、錯誤的詞匯,漢英解釋和單詞的性質。</p><p>  3.對不必要的詞匯進行刪除,大大的減少了數據冗余和重復。</p><p>  4.考慮數據庫的選擇和數據庫連接、配置等問題、減少不必要的問題出現</p><p><b>  1.2 內容簡介</b></p><p>  通過設計實踐,達到以下目的:</p>

20、;<p>  1.培養(yǎng)學生嚴謹務實的工作態(tài)度,并在老師的指導下,提高分析問題和解決問題的能力,促進理論聯(lián)系實際學風養(yǎng)成。 </p><p>  2.鞏固和加深對面向對象程序設計的基本概念、基本理論和實現技術的理解。</p><p>  3.掌握Java開發(fā)的主要環(huán)境與工具,掌握面向對象的常用控件的使用方法。</p><p>  4.初步掌握面向對象

21、系統(tǒng)分析與設計的基本方法和步驟,并能針對簡單的實際應用問題進行初步地分析和設計。</p><p>  5.掌握Java編程語言,并針對具體應用問題進行編程實現。</p><p>  6.通過撰寫課程設計論文,鍛煉學生科技論文寫作能力。</p><p><b>  英漢互譯的實現:</b></p><p>  功能要求:能

22、夠編輯詞典庫中的信息,能夠實現英譯漢,漢譯英(要考慮一詞多義)。</p><p>  該系統(tǒng)主要用于實現英漢互譯的功能,先選擇是英譯漢還是漢譯英然后再查詢框中查詢,該系統(tǒng)會自動彈出匹配信息。</p><p>  第二章 研究背景與研究意義</p><p><b>  2.1 研究背景</b></p><p>  電子引詞

23、典是一種將傳統(tǒng)的印刷詞典轉成數碼方式、進行快速查詢的數字學習工具。電腦辭典以輕便易攜、查詢快捷、功能豐富等特點,成為21世紀學生學習生活、社會人士移動辦公的掌上利器。電腦辭典主要有五大板塊功能,分別為:辭典查詢學習功能、電子記事功能、計算功能、參考資料功能以及數據傳輸功能。目前市場上的電子辭典內置的辭典有學習詞典如英漢、雅思等,也有專業(yè)詞典如電子、醫(yī)藥、信息等。不同的消費者應根據自己的實際情況選擇最適合自己的電子辭典,標準的電子辭典內置

24、英漢、漢英、英英、雅思、托福等學習型詞典,是為大學、高初中以及小學生量身定制的學習辭典。</p><p>  我們在學習英語的時候會經常碰到很多的生詞,有時,為了讀懂一篇文章,經常是讀文章用一小時,但是其中卻有半個小時都在翻閱英語字典。所以我們小組為了解決這一問題,才將選材方向定位于電子詞典的功能實現,主要的目的就是為同學們解決這一問題。</p><p>  在做電子詞典功能實現的時候,主

25、要從以下幾個方面入手,即:英漢互譯、漢英互譯。</p><p>  在英譯漢、漢譯英這兩個功能模塊上,我們首先提供了一個查詢界面,即使用者需要輸入要查詢的關鍵字,點擊確定按鈕,屏幕上就會出現其對應的答案。在做這個模塊的時候,我們主要解決了Java與數據庫的鏈接問題,進而實現其功能。從系統(tǒng)的可擴展性方面考慮,我們在系統(tǒng)中加入了對單詞庫的添加、刪除、修改功能。有了這個功能模塊,將給予使用者帶來很大的方便。</p

26、><p>  當然也存在一種情況,即剛開始接觸而不懂得如何去使用電子詞典,為此我們加入了幫助界面,幫助界面是用Java小程序完成的。</p><p><b>  2.2 研究意義</b></p><p>  在于鞏固所學Java語言編輯基本功,掌握Jdk,Editplus,Eclipse,Jcreator等開發(fā)工具的運用,拓寬常用類庫的應用。Jav

27、a語言是當今流行的網絡編程語言,它具有面向對象,跨平臺,分布應用等特點,它貼近自然的語言,而且有利于軟件的維護和繼承。我們通過該教學環(huán)節(jié)與手段,把所學課程及相關知識加以融會貫通,全面掌握Java語言的編程思想及面向對象程序設計的方法,為今后從事實際工作打下堅實的基礎。為了體現它的可擴展性,使用者也可以自己添加、刪除或修改其單詞庫,為我們的學習帶來了很多方便。</p><p>  第三章 開發(fā)平臺與語言簡介<

28、/p><p>  3.1 Eclipse簡介</p><p>  Eclipse 是一個開放源代碼的、基于Java的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務,用于通過插件組件構建開發(fā)環(huán)境。幸運的是,Eclipse附帶了一個標準的插件集,包括Java開發(fā)工具(Java Development Kit,JDK)。 </p><p>  雖然大多數用戶很樂于將

29、Eclipse當作 Java 集成開發(fā)環(huán)境(IDE)來使用,但 Eclipse的目標卻不僅限于此。Eclipse還包括插件開發(fā)環(huán)境(Plug-in Development Environment,PDE),這個組件主要針對希望擴展 Eclipse的軟件開發(fā)人員,因為它允許他們構建與 Eclipse環(huán)境無縫集成的工具。由于 Eclipse中的每樣東西都是插件,對于給 Eclipse提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有

30、工具開發(fā)人員都具有同等的發(fā)揮場所。 </p><p>  這種平等和一致性并不僅限于 Java開發(fā)工具。盡管 Eclipse是使用 Java 語言開發(fā)的,但它的用途并不限于 Java語言;例如,支持諸如 C/C++ 和 COBOL 等編程語言的插件已經可用,或預計將會推出。Eclipse框架還可用來作為與軟件開發(fā)無關的其他應用程序類型的基礎,比如內容管理系統(tǒng)。 </p><p>  基于

31、Eclipse的應用程序的一個突出例子是 IBM Rational Software Architect,它構成了 IBM Java 開發(fā)工具系列的基礎。</p><p>  同時,從2006年起,Eclipse基金會每年都會安排同步發(fā)布(simultaneous release)。至今,同步發(fā)布主要在6月進行,并且會在接下來的9月及2月釋放出SR1及SR2版本。</p><p>  3.

32、2 java 簡介</p><p>  Java的名字的來源:Java是印度尼西亞爪哇島的英文名稱,因盛產咖啡而聞名。Java語言中的許多庫類名稱,多與咖啡有關:如JavaBeans(咖啡豆)、NetBeans(網絡豆)以及ObjectBeans (對象豆)等等。</p><p>  Java是由Sun Microsystems公司于1995年5月推出的Java面向對象程序設計語言(以下簡

33、稱Java語言)和Java平臺的總稱。由James Gosling 和同事們共同研發(fā),并在1995年正式推出。用Java實現的HotJava瀏覽器(支持Java applet)顯示了Java的魅力:跨平臺、動態(tài)的Web、Internet計算。從此,Java被廣泛接受并推動了Web的迅速發(fā)展,常用的瀏覽器現在均支持Java applet。另一方面,Java技術也不斷更新。(2010年Oracle公司收購了SUN) </p>

34、<p>  由四方面組成:Java編程語言、Java類文件格式、Java虛擬機和Java應用程序接口(Java API)。</p><p>  3.3 Access 簡介</p><p>  Microsoft Office Access是微軟把數據庫引擎的圖形用戶界面和軟件開發(fā)工具結合在一起的一個數據庫管理系統(tǒng)。它是微軟 Office的一個成員, 在包括專業(yè)版和更高版本的Of

35、fice版本里面被單獨出售。2010年5月12日,最新的微軟Office Access 2010在微軟Office 2010里發(fā)布,微軟Office Access 2007 是前一個版本。</p><p>  MS ACCESS以它自己的格式將數據存儲在基于Access Jet的數據庫引擎里。它還可以直接導入或者鏈接數據(這些數據存儲在其他應用程序和數據庫)。</p><p>  第四章

36、系統(tǒng)需求分析及可行性分析</p><p>  4.1 系統(tǒng)需求分析</p><p>  4.1.1 現狀分析</p><p>  當今時代是信息化時代,而信息的數字化也越來越被人們所重視,所以,數字化技術的重要性也逐漸體現了出來,主要體現在以下幾個方面:數字化是數字計算機的基礎,數字化是軟件技術的基礎,是智能技術的基礎,數字化是信息社會的技術基礎,數字化是信息社會的

37、經濟基礎。</p><p>  詞典作為一種為大眾服務的工具書,已經漸漸退居二線了,進而出現了另一種查找方式更加簡便,更加精確,詞匯量更加豐富而且隨身攜帶更加方便的工具,那就是電子詞典,應該說這是一個新舊交替的過程,電子詞典取代傳統(tǒng)詞典只是時間的問題。</p><p>  4.1.2 功能需求分析</p><p>  本系統(tǒng)在單詞查閱方面主要完成了英譯漢、漢譯英功能

38、,詞庫備份;在系統(tǒng)性能方面主要完成了單詞庫的插入、修改、刪除功能以及幫助系統(tǒng)。</p><p>  4.1.3 數據庫需求分析</p><p>  目前電子詞典的應用很廣泛,其體積小、價格低、實用性強,作為學習工具,有著很廣泛的市場。在以前,同學們學習英語時都要用人工的方法去查閱生詞,不僅浪費了大量的學習時間,學習效率無法提高。查閱英語生詞成為了很多學習英語同學在學習方面的瓶徑。電子詞典的

39、出現,就是針對這一問題。這里的設計就是實現英漢互譯、單詞發(fā)音,為了體現它的可擴展性,使用者也可以自己添加、刪除或修改其單詞庫。</p><p>  下面是數據庫表設計:</p><p>  表4.1 英語詞匯表</p><p>  4.1.4 系統(tǒng)數據流程分析</p><p>  數據流程是數據的采集、輸入、處理、加工和輸出的全過程。信息原始

40、數據經采集后,輸入計算機系統(tǒng),進行模式或統(tǒng)計運算,或按用戶的特殊要求編制某種專門程序來加工處理數據,然后輸出結果數據。</p><p>  分析電子詞典的總體情況,劃分系統(tǒng)邊界,識別系統(tǒng)的數據來源和去處,確定外部實體,得出系統(tǒng)的頂層數據流程圖;然后劃分出幾個主要的信息管理功能,本系統(tǒng)的主要數據的工作流包括以下幾個方面:</p><p><b>  1.英漢詞典;</b>

41、;</p><p><b>  2.漢英詞典; </b></p><p><b>  3.添加詞匯;</b></p><p><b>  4.修改詞匯;</b></p><p><b>  5.幫助;</b></p><p>  各

42、功能之間的聯(lián)系,繪出數據流程圖,如下圖所示:</p><p>  圖4.1 英譯漢數據流程圖</p><p>  圖4.2 漢譯英數據流程圖</p><p>  4.2 系統(tǒng)總體功能介紹</p><p>  系統(tǒng)在單詞查閱方面完成了英譯漢、漢譯英;完成了單詞庫的插入、修改、刪除功能以及幫助系統(tǒng)。</p><p>  4

43、.3 模塊功能介紹</p><p>  4.3.1 主界面功能</p><p>  該模塊的主要功能為:由于將組員所做的各模塊組合在一起。使用戶可以在一個界面下調用組內成員的功能模塊。方便用戶使用又方便用戶的學習。而且不但可以通過菜單欄調用各功能模塊,還可以通過按鈕調用。</p><p>  主界面主要由兩個面版,五個按鈕,一個文本框,一個文本區(qū),一個標簽和一個菜單

44、欄組成。在文本框中輸入要查詢的數據。文本區(qū)中顯示查詢的結果。</p><p>  4.3.2 英譯漢功能</p><p>  該模塊的主要功能為:當用記遇到陌生的單詞或記不清解釋的單詞時,用戶可以通過本功能查找,還通過本模塊完成單詞的再一次記憶。</p><p>  4.3.3 漢譯英功能</p><p>  該模塊的主要功能為:當用戶進行漢

45、譯英翻譯時難難免遇到不會的詞或記不請的記。這時用記就可以通過本功能實現詞匯的查找。它不但可以查到想要查的詞還可以找到和該詞相關的單詞。</p><p><b>  4.4 數據項</b></p><p>  數據項又稱數據元素,數據項是構成數據的最小單位,是數據記錄中最基本的、不可分的有名數據單位。數據項可以是字母、數字或兩者的組合。通過數據類型(邏輯的、數值的、字符

46、的等)及數據長度來描述。數據項用來描述實體的某種屬性。</p><p>  本系統(tǒng)的數據項的定義如下:</p><p>  表4.2系統(tǒng)數據項的定義</p><p><b>  數據結構的定義</b></p><p>  數據結構描述了某些數據項之間的關系。一個數據結構可以由若干個數據項組成,也可以由若干個數據結構組成;

47、還可以由若干個數據項和數據結構組成。</p><p>  4.5 系統(tǒng)難點分析</p><p>  本系統(tǒng)最大的難點有:對各個面板和功能之間的相互連接、實現數據的共享;實現對每個類的方法之間的調用,配置數據庫的連接,完成英譯漢、漢譯英。</p><p>  第 五 章 系統(tǒng)設計</p><p>  5.1系統(tǒng)的總體設計</p>

48、<p>  5.1.1系統(tǒng)的功能模塊設計</p><p>  系統(tǒng)模塊設計分為3大項,分別是:文件模塊,編輯模塊和幫助模塊。</p><p><b>  1.文件模塊:</b></p><p>  文件模塊分為4小項:漢譯英模塊,漢譯英模塊,詞庫備份,退出系統(tǒng)模塊。</p><p><b>  2.編

49、輯模塊:</b></p><p>  編輯模塊分為3小項:添加詞匯模塊,修改詞匯模塊,刪除詞匯模塊。</p><p><b>  3.幫助模塊:</b></p><p>  幫助模塊分為2小項,分別是:幫助模塊,關于模塊</p><p><b>  系統(tǒng)的功能模塊圖:</b></p

50、><p>  圖5.1系統(tǒng)的功能模塊圖</p><p>  5.2 系統(tǒng)的詳細設計</p><p>  5.2.1 概念設計</p><p>  概念設計即是利用設計概念并以其為主線貫穿全部設計過程的設計方法。概念設計是完整而全面的設計過程,它通過設計概念將設計者繁復的感性和瞬間思維上升到統(tǒng)一的理性思維從而完成整個設計。如果說概念設計是一篇文章,

51、那么設計概念則是這篇文章的主題思想。概念設計圍繞設計概念而展開,設計概念則聯(lián)系著概念設計的方方面面。</p><p>  下面是各模塊的E-R圖:</p><p>  圖5.2 文件模塊子E-R圖</p><p>  圖5.2編輯模塊子E-R圖 </p><p>  圖5.3幫助模塊子E-R圖</p><p>  5.

52、3 系統(tǒng)的物理設計</p><p>  數據庫物理設計階段的任務是根據具計算機系統(tǒng)(硬件等)的特點,為給定的數據庫模型確定合理的存儲結構和存取方法。有兩個含義:一個是要使設計出的物理數據庫占用較少的存儲空間,另一個對數據庫的操作具有盡可能高的速度。</p><p>  為了設計數據庫的物理結構,設計人員必須充分了解所用硬件的內部特征;充分了解數據系統(tǒng)的實際應用環(huán)境,特別是數據應用處理的頻率

53、和響應時間的要求;充分了解外存儲設備的特性。數據庫的物理結構設計大致包括:確定數據的存取方法、確定數據的存儲結構。</p><p>  物理結構設計階段實現的是數據庫系統(tǒng)的內模式,它的質量直接決定了整個系統(tǒng)的性能。因此在確定數據庫的存儲結構和存取方法之前,對數據庫系統(tǒng)所支持的事務要進行仔細分析,獲得優(yōu)化數據庫物理設計的參數。</p><p>  對于數據庫查詢事務,需要得到如下信息:<

54、;/p><p><b>  1.要查詢的關系。</b></p><p>  2.查詢條件(即選擇條件)所涉及的屬性。</p><p>  3.連接條件所涉及的屬性。</p><p>  4.查詢的投影屬性。</p><p>  對于數據更新事務,需要得到如下信息:</p><p&g

55、t;<b>  1.要更新的關系。</b></p><p>  2.每個關系上的更新操作的類型。</p><p>  3.刪除和修改操作所涉及的屬性。</p><p>  4.修改操作要更改的屬性值。</p><p>  5.確定數據庫的存儲結構。</p><p>  6.確定系統(tǒng)存儲參數的配置。

56、</p><p>  第 六 章 總體設計</p><p><b>  6.1 算法的實現</b></p><p>  起初連接數據庫的語句全部都是在調用頁一句一句的書寫,這樣一來不僅做了很多重復的工作,而且使頁面看起來很繁瑣,經過翻閱書籍發(fā)現可以將連接數據庫的語句統(tǒng)一放到一個頁面里,然后在需要調用連接數據庫語句的頁面調用就可以了,這樣既節(jié)省時

57、間,又避免出現書寫錯誤。</p><p>  6.2 字符串的聯(lián)系</p><p>  在測試數據查詢模塊時,發(fā)現對字符串的比較存在大小寫之分,所以要先將要比較的兩個字符串轉化成相同的格式或者強行限制輸入的字符串大小寫相同,然后再進行比較;如果查詢的結果為空,那么應該給出提示信息,這樣才能真正做到人機界面的交互。</p><p><b>  6.3 數據庫

58、設計</b></p><p>  6.3.1 數據庫圖</p><p>  表6.1英譯漢詞匯表</p><p>  6.3.2 數據庫的約束與關系</p><p>  本系統(tǒng)的數據庫采用的是access簡單的數據庫,之前在電腦上嘗試過使用SQL和MYSQL等都因系統(tǒng)兼容性不能正常使用。Access數據庫只選擇了一張表建立了單詞的

59、英文單詞、解釋、詞性。</p><p>  通過算法的設計、實現了英譯漢、漢譯英、單詞查詢、添加、修改和刪除的各項功能的相互轉換。</p><p><b>  6.4 系統(tǒng)的實現</b></p><p>  6.4.1 主界面功能實現</p><p>  在此模塊內,用戶如果想使用組內其他成員的功能時,有兩種實現方法。一

60、種是在編輯菜單下選擇添加詞匯;另一種是通過主界面下面的按鈕調用其他成員的功能模塊。主界面主要由主界面主要由兩個面版,五個按鈕,一個文本框,一個文本區(qū),一個標簽和一個菜單欄組成。在文本框中輸入要查詢的數據。文本區(qū)中顯示查詢的結果。</p><p>  主要方法包括:DataWindow()為構造方法,創(chuàng)建用戶添加詞匯界面;與actionPerformed()為接口方法,處理ActionEvent事件。下面是主界面程

61、序部分源代碼:</p><p>  this.setBounds(250,250,600,400);//設置面板大小</p><p>  this.setVisible(true); //設置面板可見</p><p>  getContentPane().add(new JScrollPane(chinesetext));</p><p> 

62、 mbar = new JMenuBar();</p><p>  setJMenuBar(mbar);</p><p>  mbar.setOpaque(true);</p><p>  mfile = new JMenu("文件");</p><p>  medit = new JMenu("編輯"

63、);</p><p>  mhelp = new JMenu("幫助");</p><p>  mbar.add(mfile);mbar.add(medit);mbar.add(mhelp);</p><p>  edic = new JMenuItem("英漢詞典");</p><p>  cdic

64、= new JMenuItem("漢英詞典");</p><p>  back_data = new JMenuItem("備份詞庫");</p><p>  quit = new JMenuItem(" 退出");//文件菜單</p><p>  addedit = new JMenuItem(&quo

65、t;添加詞匯");</p><p>  modedit = new JMenuItem("修改詞匯");</p><p>  deledit = new JMenuItem("刪除詞匯");//編輯菜單</p><p>  hhelp = new JMenuItem("幫助");</p>

66、;<p>  about = new JMenuItem("關于...");//幫助菜單</p><p><b>  圖 6.1 主界面</b></p><p>  6.4.2 英譯漢功能實現</p><p>  此功能模塊主要是針對已經存在于單詞庫中的單詞,通過編輯菜單中的英漢詞典功能,在主界面的文本框中輸入

67、要查詢的單詞,單擊查詢按鈕進行查詢。結果顯示在主界面的文本區(qū)中。</p><p><b>  下面是部分源代碼:</b></p><p>  else if(e.getSource()==edic) //英漢</p><p><b>  {</b></p><p>  label.setText(&

68、quot;輸入要查詢的英語單詞:");</p><p>  b1.setVisible(true);</p><p>  b5.setVisible(true);</p><p><b>  }</b></p><p><b>  圖 6.2 查詢圖</b></p>&l

69、t;p>  6.4.3 漢譯英功能及詞庫備份實現</p><p>  else if(e.getSource()==cdic) //漢英</p><p><b>  {</b></p><p>  label.setText("輸入要查詢的漢語意思:");</p><p>  b1.setVis

70、ible(true);</p><p>  b5.setVisible(true);</p><p><b>  }</b></p><p>  else if(e.getSource()==back_data) //備份</p><p><b>  {</b></p><p&g

71、t;  File fromfile = new File("english\\english.mdb");</p><p>  FileInputStream fis = null;</p><p>  filedialog_save.setVisible(true);</p><p><b>  try{</b><

72、;/p><p>  fis = new FileInputStream(fromfile);</p><p>  int bytesRead; //定義變量來存儲輸入流中讀取出來的文件</p><p>  byte[] buf = new byte[4*1024]; //4K buffer</p><p>  File tofile = ne

73、w File(filedialog_save.getDirectory(),filedialog_save.getFile());</p><p>  FileOutputStream fos = new FileOutputStream(tofile);</p><p>  while((bytesRead = fis.read(buf))!=-1)</p><p&g

74、t;<b>  {</b></p><p>  fos.write(buf,0,bytesRead);</p><p><b>  }</b></p><p>  fos.flush();</p><p>  fos.close();</p><p>  fis.close(

75、);</p><p><b>  }</b></p><p>  catch(IOException e2){ }</p><p><b>  }</b></p><p><b>  圖 6.3查詢圖</b></p><p>  6.4.4 查詢類的實

76、現及數據庫綁定</p><p>  public void Listwords() throws SQLException //實現查詢功能</p><p><b>  {</b></p><p>  String cname,ename;</p><p><b>  try{</b></p

77、><p>  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//數據庫的連接</p><p><b>  }</b></p><p>  catch(ClassNotFoundException e){}</p><p><b>  //建立橋接器&

78、lt;/b></p><p>  Connection Ex1Con = DriverManager.getConnection("jdbc:odbc:fanyi");</p><p>  Statement Ex1Stmt = Ex1Con.createStatement();</p><p>  if(label.getText().e

79、quals("輸入要查詢的英語單詞:"))</p><p><b>  {</b></p><p>  ResultSet rs = Ex1Stmt.executeQuery("SELECT * FROM 表1");</p><p>  while( rs.next())</p><p

80、><b>  {</b></p><p>  ename = rs.getString("單詞");</p><p>  cname = rs.getString("解釋");</p><p>  if(ename.equals(englishtext.getText()))</p>

81、<p><b>  {</b></p><p>  chinesetext.append(cname+'\n');</p><p><b>  }</b></p><p><b>  }</b></p><p>  Ex1Con.close(); /

82、/關閉數據庫</p><p>  6.4.5 添加類的實現及數據庫綁定</p><p>  public void 添加() throws SQLException //實現添加功能</p><p><b>  {</b></p><p>  String cname, ename;</p><p&g

83、t;<b>  try {</b></p><p>  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");</p><p><b>  }</b></p><p>  catch (ClassNotFoundException e) {</p>&

84、lt;p><b>  }</b></p><p>  Con = DriverManager.getConnection("jdbc:odbc:fanyi");</p><p>  Stmt = Con.createStatement();</p><p>  ResultSet rs = Stmt.executeQu

85、ery("SELECT * FROM 表1");</p><p>  boolean boo = false;</p><p>  while ((boo = rs.next()) == true) {</p><p>  ename = rs.getString("單詞");</p><p>  cn

86、ame = rs.getString("解釋");</p><p>  if (ename.equals(添加英語單詞_文本條.getText())) {</p><p>  JOptionPane.showMessageDialog(this, "此詞匯已存在!", "警告",</p><p>  JOp

87、tionPane.WARNING_MESSAGE);</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p

88、>  圖 6.4單詞添加運行圖</p><p>  6.4.6 修改類的實現及數據庫綁定</p><p>  Connection Con = null;//連接對象</p><p>  Statement Stmt = null;</p><p>  ModifyWin() {</p><p>  super(

89、"修改");</p><p>  this.setBounds(250, 250, 250, 200);</p><p>  this.setVisible(true);</p><p>  JPanel p = new JPanel();</p><p>  p.add(new Label("輸入英語單詞:&q

90、uot;));</p><p>  修改英語單詞_文本條 = new JTextField(20);</p><p>  p.add(修改英語單詞_文本條);</p><p>  p.add(new Label("輸入該單詞修改的漢語解釋:"));</p><p>  修改漢語解釋_文本條 = new JTextField

91、(20);</p><p>  p.add(修改漢語解釋_文本條);</p><p>  public void actionPerformed(ActionEvent e) {</p><p>  if (e.getSource() == modifybtn) {</p><p>  if (修改英語單詞_文本條.getText().equ

92、als("") ||</p><p>  修改漢語解釋_文本條.getText().equals(""))</p><p><b>  {</b></p><p>  JOptionPane.showMessageDialog(this, "修改的單詞或解釋不能為空!", "

93、警告",JOptionPane.WARNING_MESSAGE);</p><p><b>  }</b></p><p>  public void 修改() throws SQLException //實現修改功能</p><p><b>  {</b></p><p>  Strin

94、g cname, ename;</p><p><b>  try {</b></p><p>  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");</p><p><b>  }</b></p><p>  catch (ClassN

95、otFoundException e) {</p><p><b>  }</b></p><p>  Con = DriverManager.getConnection("jdbc:odbc:fanyi");</p><p>  Stmt = Con.createStatement();</p><p&

96、gt;  ResultSet rs = Stmt.executeQuery("SELECT * FROM 表1");</p><p><b>  }</b></p><p>  Con.close();</p><p>  if (boo == false) {</p><p>  JOptionPa

97、ne.showMessageDialog(this, "不存在此單詞!", "警告",</p><p>  JOptionPane.WARNING_MESSAGE);</p><p><b>  }</b></p><p><b>  }</b></p><p&g

98、t;<b>  }</b></p><p>  圖 6.5 修改詞匯圖</p><p>  6.4.7 刪除類的實現及數據庫綁定</p><p>  public void actionPerformed(ActionEvent e) {</p><p>  if (e.getSource() == delbtn) {&

99、lt;/p><p>  if (刪除單詞_文本條.getText().equals("")) {</p><p>  JOptionPane.showMessageDialog(this, "刪除的單詞不能為空!", "警告",</p><p>  JOptionPane.WARNING_MESSAGE);&l

100、t;/p><p><b>  }</b></p><p>  public void 刪除() throws SQLException //實現刪除功能</p><p><b>  {</b></p><p>  String cname, ename;</p><p><

101、b>  try {</b></p><p>  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");</p><p><b>  }</b></p><p>  catch (ClassNotFoundException e) {</p><p&g

102、t;<b>  }</b></p><p>  Con = DriverManager.getConnection("jdbc:odbc:fanyi");</p><p>  Stmt = Con.createStatement();</p><p>  ResultSet rs = Stmt.executeQuery(&q

103、uot;SELECT * FROM 表1");</p><p>  boolean boo = false;</p><p>  while ((boo = rs.next()) == true) {</p><p>  ename = rs.getString("單詞");</p><p>  cname =

104、rs.getString("解釋");</p><p>  if (ename.equals(刪除單詞_文本條.getText())) {</p><p>  String s1 = "'" + 刪除單詞_文本條.getText().trim() + "'";</p><p>  Strin

105、g temp = "DELETE FROM 表1 WHERE 單詞=" + s1;</p><p>  Stmt.executeUpdate(temp);</p><p>  JOptionPane.showMessageDialog(this, "成功刪除記錄!", "恭喜",</p><p>  JOp

106、tionPane.WARNING_MESSAGE);</p><p>  dispose();</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  Con.

107、close();</p><p>  if (boo == false) {</p><p>  JOptionPane.showMessageDialog(this, "不存在此單詞!", "警告",</p><p>  JOptionPane.WARNING_MESSAGE);</p><p>&l

108、t;b>  }</b></p><p><b>  }</b></p><p><b>  } </b></p><p>  圖 6.6 刪除詞匯圖</p><p>  第 七 章 Socket編程</p><p>  7.1 Socket編程</p&

109、gt;<p>  socket是“open—write/read—close”模式的一種實現,那么socket就提供了這些操作對應的函數接口。程連接該客戶端是記錄線程ID和socket套接字,將這兩個數據保存到map容器里,當客戶端退出時刪除map容器里該客戶端數據,遍歷map容器就知道連接了多少客戶端,通過訪問服務器的線程從而實現聯(lián)網查詢。</p><p>  7.2 Socket的實現</

110、p><p>  Service(服務器):</p><p><b>  try{</b></p><p>  ServerSocket server=null;</p><p><b>  try{</b></p><p>  server=new ServerSocket(47

111、00);// 創(chuàng)建一個ServerSocket在端口4700監(jiān)聽客戶請求</p><p><b>  }</b></p><p>  catch(Exception e) {</p><p>  System.out.println("can not listen to:"+e);</p><p>&

112、lt;b>  }</b></p><p>  Socket socket=null;</p><p><b>  try{</b></p><p>  socket=server.accept();</p><p>  // 使用accept()阻塞等待客戶請求,有客戶</p><p

113、>  // 請求到來則產生一個Socket對象,并繼續(xù)執(zhí)行</p><p>  }catch(Exception e) </p><p><b>  {</b></p><p>  System.out.println("Error."+e);</p><p><b>  }</

114、b></p><p>  String line;</p><p>  BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));</p><p>  // 由Socket對象得到輸入流,并構造相應的BufferedReader對象</p>

115、;<p>  PrintWriter os=new PrintWriter(socket.getOutputStream());</p><p>  // 由Socket對象得到輸出流,并構造PrintWriter對象</p><p>  BufferedReader sin=new BufferedReader(new InputStreamReader(System.in

116、));</p><p>  // 由系統(tǒng)標準輸入設備構造BufferedReader對象</p><p>  System.out.println("Client:"+is.readLine());</p><p>  // 在標準輸出上打印從客戶端讀入的字符串</p><p>  line=sin.readLine();

117、</p><p>  // 從標準輸入讀入一字符串</p><p>  while(!line.equals("bye")){</p><p>  // 如果該字符串為 "bye",則停止循環(huán)</p><p>  os.println(line);</p><p>  // 向客

118、戶端輸出該字符串</p><p>  os.flush();</p><p>  // 刷新輸出流,使Client馬上收到該字符串</p><p>  System.out.println("Server:"+line);</p><p>  // 在系統(tǒng)標準輸出上打印讀入的字符串</p><p>

119、  System.out.println("Client:"+is.readLine());</p><p>  // 從Client讀入一字符串,并打印到標準輸出上</p><p>  line=sin.readLine();</p><p>  // 從系統(tǒng)標準輸入讀入一字符串</p><p><b>  }

120、</b></p><p><b>  // 繼續(xù)循環(huán)</b></p><p>  os.close(); // 關閉Socket輸出流</p><p>  is.close(); // 關閉Socket輸入流</p><p>  socket.close(); // 關閉Socket</p>&

121、lt;p>  server.close(); // 關閉ServerSocket</p><p>  }catch(Exception e){</p><p>  System.out.println("Error:"+e);</p><p><b>  }</b></p><p>  Clie

122、nt(客戶端):</p><p><b>  try{</b></p><p>  Socket socket=new Socket("127.0.0.1",4700);// 向本機的4700端口發(fā)出客戶請求</p><p>  BufferedReader sin=new BufferedReader(new InputS

123、treamReader(System.in));// 由系統(tǒng)標準輸入設備構造BufferedReader對象</p><p>  PrintWriter os=new PrintWriter(socket.getOutputStream());// 由Socket對象得到輸出流,并構造PrintWriter對象</p><p>  BufferedReader is=new Buffere

124、dReader(new InputStreamReader(socket.getInputStream()));// 由Socket對象得到輸入流,并構造相應的BufferedReader對象</p><p>  String readline;</p><p>  readline=sin.readLine(); // 從系統(tǒng)標準輸入讀入一字符串</p><p>

125、  while(!readline.equals("bye")){// 若從標準輸入讀入的字符串為"bye"則停止循環(huán)os.println(readline);//將從系統(tǒng)標準輸入讀入的字符串輸出到Serveros.flush();</p><p>  // 刷新輸出流,使Server馬上收到該字符串System.out.println("Client:"

126、;+readline);</p><p>  // 在系統(tǒng)標準輸出上打印讀入的字符串</p><p>  System.out.println("Server:"+is.readLine());// 從Server讀入一字符串,并打印到標準輸出上</p><p>  readline=sin.readLine(); // 從系統(tǒng)標準輸入讀入一字符

溫馨提示

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

評論

0/150

提交評論