java課程設(shè)計-英漢電子詞典編程_第1頁
java課程設(shè)計-英漢電子詞典編程_第2頁
java課程設(shè)計-英漢電子詞典編程_第3頁
java課程設(shè)計-英漢電子詞典編程_第4頁
java課程設(shè)計-英漢電子詞典編程_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

貴州大學(xué)實習(xí)報告專用紙貴州大學(xué)實習(xí)報告專用紙Java一、需求分析的誕生成為可能。者電子郵箱中收到一封外國朋友發(fā)的英文E-mail,遇到某些生疏的單詞,可又疲于去翻查厚重的英文字典時,電腦中所安裝的英漢電子詞典便成為了最為方面拓展得更寬、更廣。者,并對傳統(tǒng)的詞典提出了挑戰(zhàn)。本系統(tǒng)是一個承受MicrosoftAccess作為數(shù)據(jù)庫,用JAVA作為開發(fā)工具的1.1貴州大學(xué)實習(xí)報告專用紙貴州大學(xué)實習(xí)報告專用紙10英漢備退添漢英份加詞詞詞詞典典庫出匯英語小詞典文件編輯修英語小詞典文件編輯修改詞匯刪除詞匯功能模塊說明:1、英譯漢功能模塊說明:可以實現(xiàn)對英文單詞對中文單詞的查詢功能。用2、漢譯英功能模塊說明:可以實現(xiàn)對中文單詞對英文單詞的查詢功能。用3、備份詞庫功能模塊說明:可以實現(xiàn)對現(xiàn)有詞庫的備份,可將當(dāng)前詞庫存入用戶所設(shè)置的任一位位置。4、添加詞匯功能模塊說明:可以實現(xiàn)對詞庫的添加。用戶可自行輸入所添5、修改詞匯功能模塊說明:可以實現(xiàn)對詞庫中已有單詞的修改。用戶可自行修改詞庫中的單詞的解釋,假設(shè)輸入單詞不存在于詞庫中,系統(tǒng)會彈出“警告6、刪除詞匯功能模塊說明:可以刪除詞庫中已有的單詞。用戶可自行刪除7、其它功能模塊說明:在幫助中有“幫助”與“關(guān)于”兩項二、概要設(shè)計1、英語詞典設(shè)計要求(1)GUI實現(xiàn)與詞典數(shù)據(jù)庫的訪問;(3)實現(xiàn)文件的輸入、輸出;實現(xiàn)鼠標(biāo)或鍵盤大事響應(yīng)模塊。2、自定義類說明publicclassDic{}自定義主體main函數(shù)的類,用來調(diào)用各種類classDataWindowextendsJFrameimplementsActionListener{}自定義一個主窗體類,用來顯示整個窗體。繼承的父類:JFrame實現(xiàn)的接口:ActionListenerclassAddWinextendsJFrameimplementsActionListener{}自定義一個添加窗口類,用于添加的單詞及其解釋DelWinextendsJFrameimplementsActionListener{}自定義一個刪除窗口類,用于刪除詞庫中所存在的單詞及其解釋ModifyWinextendsJFrameimplementsActionListener{}自定義一個修改窗口類,用于修改詞庫中所存在的單詞及其解釋classHelpFrameextendsJFrame{}做簡要的說明3、界面設(shè)計思想JMenumfile〔文件、medit〔編輯、mhel〔幫助JMenuItemedi〔英漢詞典cdi〔漢英詞典〔備份詞庫退出添加詞匯修改詞匯deledit到菜單中,并注冊監(jiān)聽者。定義一個文件對話框filedialog_save,并為之增加GUI4、方法定義說明actionPerformed〔ifpublicvoidactionPerformed(ActionEvente)Listwords〔,實現(xiàn)查詢功能publicvoidListwordsthrowsSQLException(3)定義方法刪除〔,實現(xiàn)刪除功能publicvoidthrowsSQLException(4〔,實現(xiàn)添加功能publicvoidthrowsSQLException(5)定義方法修改〔,實現(xiàn)修改功能publicvoidthrowsSQLException5、數(shù)據(jù)庫說明Java數(shù)據(jù)庫連接〔JDBC〕由一組用Java編程語言編寫的類和接口組成。JDBC/數(shù)據(jù)庫開發(fā)人員供給了一個標(biāo)準(zhǔn)的API,使他們能夠用純JavaAPIAccessODBC加載驅(qū)動程序:Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“);與數(shù)據(jù)庫建立連接:String url=“jdbc:odbc:Driver={MicroSoft Access Driver(*.mdb)};DBQ=“+application.getRealPath(“/Data/ReportDemo.mdb“);Connectionconn=DriverManager.getConnection(url,““,““);JDBCStatementStatementstmtNew=conn.createStatement;留意:首先要配置數(shù)據(jù)源:把握面版->治理工具->數(shù)據(jù)源->系統(tǒng)DSN->添加->選擇MicrosortAccessaccess定,接下來再進(jìn)展你的操作。三、具體設(shè)計本系統(tǒng)是通過對類對象的引用,以及函數(shù)的調(diào)用實現(xiàn)類之間的連接的。創(chuàng)立add()方法參與容器,進(jìn)而進(jìn)展布局,用addActionListener()方法為按鈕或者菜單條按鈕注冊大事監(jiān)聽者,通過監(jiān)聽者方法調(diào)用(大事源,處理代碼)對按鈕觸發(fā)。1、添加功能的實現(xiàn):publicvoidthrowsSQLException{Stringcname,ename;try{ class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“);}catch(ClassNotFoundExceptione){}Con=DriverManager.getConnection(“jdbc:odbc:Driver={MicroSoftAccessDriver(*.mdb)};DBQ=english\\english.mdb“,““,““);Stmt=Con.createStatement;*FROM1“);booleanboo=false;while((boo=rs.next)==true){單詞“);解釋“);if(ename.equals(添加英語單詞_文本條.getText)){JOptionPane.showMessageDialog(this,“此詞匯已存在!“,“警告“,JOptionPane.WARNING_MESSAGE);break;}}if(boo==false){Strings1=“”“+添加英語單詞_文本條.getText.trim+“”“,s2=“”“+添加漢語解釋_文本條.getText.trim+“”“;Stringtemp=“INSERTINTO1VALUES(“+s1+“,“+s2+“)“;Stmt.executeUpdate(temp);JOptionPane.WARNING_MESSAGE);dispose;}Con.close;}2、刪除功能的實現(xiàn):publicvoidthrowsSQLException{Stringcname,ename;try{Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“);}catch(ClassNotFoundExceptione){}Con=DriverManager.getConnection(“jdbc:odbc:Driver={MicroSoftAccessDriver(*.mdb)};DBQ=english\\english.mdb“,““,““);Stmt=Con.createStatement;*FROM1“);booleanboo=false;while((boo=rs.next)==true){ename=rs.getString(“單詞“);cname=rs.getString(“解釋“);刪除單詞_文本條.getText)){Strings1=“”“+刪除單詞_文本條.getText.trim+“”“FROM1WHERE單詞=“+s1;Stmt.executeUpdate(temp);JOptionPane.showMessageDialog(this,“成功刪除記錄!“,“恭喜“,JOptionPane.WARNING_MESSAGE);dispose;break;}}Con.close;if(boo==false){JOptionPane.showMessageDialog(this,“不存在此單詞!“,“警告“,JOptionPane.WARNING_MESSAGE);}}3、修改功能的實現(xiàn):publicvoidthrowsSQLException{Stringcname,ename;try{Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“);} catch(ClassNotFoundExceptione){}Con=DriverManager.getConnection(“jdbc:odbc:Driver={MicroSoftAccessDriver(*.mdb)};DBQ=english\\english.mdb“,““,““);Stmt=Con.createStatement;*FROM1“);booleanboo=false;while((boo=rs.next)==true){單詞“);解釋“);if(ename.equals(修改英語單詞_文本條.getText)){Strings1=“”“+修改英語單詞_文本條.getText.trim+“”“,s2=“”“+修改漢語解釋_文本條.getText.trim+“”“;1SET解釋=“+s2+“WHERE單詞=“+s1;Stmt.executeUpdate(temp);JOptionPane.showMessageDialog(this,“記錄修改成功!“,“恭喜“,JOptionPane.WARNING_MESSAGE);dispose;break;}}Con.close;if(boo==false){JOptionPane.showMessageDialog(this,“不存在此單詞!“,“警告“,JOptionPane.WARNING_MESSAGE);}}4、實現(xiàn)按鈕監(jiān)聽的實現(xiàn):publicvoidactionPerformed(ActionEvente){if(e.getSource==b1||e.getSource==englishtext){chinesetext.setText(““);if(englishtext.getText.equals(““)){JOptionPane.showMessageDialog(this,“查詢對象不能為空!“,“警告“,JOptionPane.WARNING_MESSAGE);}else{}}

try{ Listwords;}catch(SQLExceptionee){}elseif(e.getSource==b2||e.getSource==addedit){AddWinadd=newAddWin; } elseif(e.getSource==b3||e.getSource==modedit){ModifyWinmodi=newModifyWin;}//ModifyWinelseif(e.getSource==b4||e.getSource==deledit){=elseif(e.getSource==edic)//英漢{輸入要查詢的英語單詞:“);b1.setVisible(true);}elseif(e.getSource==cdic)//漢英{輸入要查詢的漢語意思:“);b1.setVisible(true);}elseif(e.getSource==back_data)//備份{Filefromfile=newFile(“english\\english.mdb“);FileInputStreamfis=null;filedialog_save.setVisible(true);try{fis=newFileInputStream(fromfile);intbytesRead;//定義變量來存儲輸入流中讀取出來的文件byte[]buf=newbyte[4*1024]; //4KbufferFiletofile=newFile(filedialog_save.getDirectory,filedialog_save.getFile);FileOutputStreamfos=newFileOutputStream(tofile);while((bytesRead=fis.read(buf))!=-1){fos.write(buf,0,bytesRead);}fos.flush;fos.close;fis.close;}catch(IOExceptione2){ }}elseif(e.getSource==quit)//退出{System.exit(0); }elseif(e.getSource==about) //關(guān)于{finalStringAboutMsg=“AElectricalDictionary \n\n“+“Anapplicationwrittentoshowoffthefunctionofdictionary.\n\n“+“JAVA課程設(shè)計 楊汝潔\n\n“+“Copyright(c)2023byEdith.AllrightsReserved.“;JOptionPane.showMessageDialog(topFrame,AboutMsg);}elseif(e.getSource==hhelp) //幫助{HelpFramehelp=newHelpFrame;help.setVisible(true);}}5、實現(xiàn)查詢功能的實現(xiàn)publicvoidListwordsthrowsSQLException //{Stringcname,ename;try{Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“);}catch(ClassNotFoundExceptione){}//建立橋接器ConnectionEx1Con=DriverManager.getConnection(“jdbc:odbc:Driver={MicroSoftAccessDriver(*.mdb)};DBQ=english\\english.mdb“,““,““);StatementEx1Stmt=Ex1Con.createStatement;if(label.getText.equals(“輸入要查詢的英語單詞:“)){*FROM1“);while(rs.next){enamers.getString(“單詞“);cnamers.getString(“解釋“);if(ename.equals(englishtext.getText)){chinesetext.append(cname+”\n”);}}Ex1Con.close; //關(guān)閉數(shù)據(jù)庫if(chinesetext.getText.equals(““)){JOptionPane.showMessageDialog(this,“查無此單詞!“,“警告“,JOptionPane.WARNING_MESSAGE);}}elseif(label.getText.equals(“輸入要查詢的漢語意思:“)){ResultSetrs=Ex1Stmt.executeQuery(“SELECT*FROM表1WHERELIKE”%“+englishtext.getText+“%”“);while(rs.next){ename=rs.getString(“單詞“);貴州大學(xué)實習(xí)報告專用紙cname=rs.getString(“解釋“);chinesetext.append(ename+”\n”);}Ex1Con.close; //關(guān)閉數(shù)據(jù)庫if(chinesetext.getText.equals(““)){JOptionPane.showMessageDialog(this,“查無此單詞!“,“警告“,JOptionPane.WARNING_MESSAGE);}}}四、軟件測試經(jīng)過編譯、執(zhí)行后可看到運(yùn)行界面如圖4.1所示4.1此時有三全菜單項選擇擇:文件、編輯、幫助4.213貴州大學(xué)實習(xí)報告專用紙假設(shè)所查單詞不存在于詞庫中,則會彈出“警告4.44.5所示:圖4.4 圖4.5漢英詞典:在在文本框中輸入要查詢的漢語意思,單擊“查詢4.614貴州大學(xué)實習(xí)報告專用紙4.6假設(shè)所查單詞不存在于詞庫中,則會彈出“警告演示與英漢詞典類似。里的任一位置。2、編輯菜單:它包含三個子菜單:添加詞匯、修改詞匯和刪除詞匯。如圖所示4.74.8所示圖4.8 圖4.94.915貴州大學(xué)實習(xí)報告專用紙修改詞匯:用戶可自行修改詞庫中的單詞的解釋,如圖4.10所示;假設(shè)圖4.10 圖4

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論