英汉电子词典_第1页
英汉电子词典_第2页
英汉电子词典_第3页
英汉电子词典_第4页
英汉电子词典_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1•课程设计的目的Jav语言是当今流行的网络编程语言,它具有面向对象、跨平台、分布应用等特点,它贴近自然的语义,而且有利于软件的维护和继承。此次课程设计的目的在于巩固所学Jav语言基本知识,增进Jav语言编辑基本功,掌握JDKEditplusEclipseJCreat等开发工具的运用,拓宽常用类库的应用。使学生通过该教学环节与手段,把所学课程及相关知识加以融会贯通,全面掌握Java语言的编程思想及面向对象程序设计的方法,为今后从事实际工作打下竖实的基础。设计方案论证2.1概要设计1系统功能描述该系统主要用于实现英汉互译的功能,系统拥有己的数据库,我们可以先选择让系统进行英译汉,还是汉译英,然后在查询杠中输入想要查询的英文单词或汉语意思,系统自动在数据库中查找匹配记录并给出对应的汉语意思或英文单词,若在数据库中没有查找到匹配的记录,则系统会弹出出错提示。同时,系统还提供了添加、修改、删除等功能,允许用户自主的对系统数据库进行添加、修改、删除等操作,便于用户建立自己的词汇库,简便实用。2.1.2系统开发环境硬件环境CPU:Int(R)Core(TM)2DuoCPU(P74503GHz内存:2(硬盘空间:250G软件环境32位XI操作系统。JDI和Jcreat软件环境。2.2详细设计2.2.1程序流程图功能模块说明:英译汉功能模块说明:可以实现对英文单词对中文单词的查询功能。用户文本杠中输入要查询的英语单词。若该单词存在于词库中,则会在文件对话杠中显示其词性及中文翻译;若该单词没有存在于词库中,则会弹出〃警告〃,说明〃查无此词〃;若没有输入直接点击〃查询〃,则会弹出〃警告〃,说明〃查询对象不能为空〃。汉译英功能模块说明:可以实现对中文单词对英文单词的查询功能。用户可在文本杠中输入要查询的中文单词。若该单词存在于词库中,则会在文件对话杠中显示一个或多个对应的英文;若该单词没有存在于词库中,则会弹出〃警告〃,说明〃查无此词〃;若没有输入直接点击〃查询〃,则会弹出〃警告〃,说明〃查询对象不能为空〃。备份词库功能模块说明:可以实现对现有词库的备份,可将当前词库存入用户所设置的任一位位置。添加词汇功能模块说明:可以实现对词库的添加。用户可自行输入所添加的单词及其解释,若添加的是词库中没有的单词,系统在添加成功后有提示"添加成功〃;若添加的是词库中己有的单词,系统会弹出〃警告〃,说明〃此词汇己存在修改词汇功能模块说明:可以实现对词库中己有单词的修改。用户可自行修改词库中的单词的解释,若输入单词不存在于词库中,系统会弹出〃警告〃,说明〃不存在此单词〃。删除词汇功能模块说明:可以删除词库中己有的单词。用户可自行删除词库中己有的单词,在删除此单词的同时,其解释也会随之被删除,若输入单词不存在于词库中,系统会弹出〃警告〃,说明〃不存在此单词〃。0)其它功能模块说明:在帮助中有〃帮助〃与〃关于〃两项,〃帮助〃中有关于词典的功能说明,〃关于〃可显示版本信息。2.2程序中自定义类说明表1动E中涉及的元件表2.2.3程序中主要方法说明定义方法actiPerformOd内用i语句实现按钮监昕:publicvoidnCeriformed(AiCiVonte)定义方法删除(),实现删除功能publicVJOil除othrowsSQLException定义方法添加(),实现添加功能publicVo示加othrowsSQLException定义方法查询,实现查询功能publicv查询othrowsSQLException设计结果与分析3.1程序运行结果经过编译、执行后可看到运行界面如图2所示图2运行结果图此时有两个菜单选择:库存和采购操作。1库存菜单它包含四个子菜单:英汉词典、汉英词典、备份词库及退出。打开该词典时默认进入的是英汉词典。如图3所示:图3库存菜单示意图英汉词典:在文本杠中输入要查询的英文单词,单击〃查询〃,英文单词对应的中文解释及其词性便会出现在文件对话杠中,如图4所示:如果所查单词不存在于词库中,则会弹出〃警告〃,说明〃查无此词〃,如图5所示;如果是没有输入直接点击〃查询〃,则会弹出〃警告〃,说明〃查询对象不能为空〃,如图6所示:汉英词典:在在文本杠中输入要查询的汉语意思,单击〃查询〃,对应的英文单i司便会出现在文件对话杠中,如图7所示:如果所查词不存在于词库中,则会弹出〃警告〃,说明〃查无此词〃;如果是没有输入直接点击〃查询〃,则会弹出〃警告〃,说明〃查询对象不能为空〃,演示与英汉词典类似。点击备份词库时,会弹出保存文件对话框,此时可将词库拷贝到机算机里的任一位置。如图8所示。2采购操作菜单:它包含三个子菜单:添加词汇、修改词汇和删除词汇。如图9所示:图9采购操作菜单示意图添加词汇:用户可自行输入所添加的单词及其解释,如果添加的是词库中没有的单词,系统在添加成功后有提示〃添加成功〃,如图10所示。若添加的是词库中己有的单词,系统会弹出〃警告〃,说明〃此词汇己存在〃。如图11所示。修改词汇:用户可自行修改词库中的单词的解释,如图12所币1如果输入单词不存在于词库中,系统会弹出〃警告〃,说明〃不存在此单词〃,如图13所币。图15删除词汇出错示意图经测试,该系统各项功能均能使用,各个功能选项与设计所想相符。3.2尚需解决的问题(1)本系统虽然允许用户根据自己的需求增减词汇,保存自己的词汇库,但是却无法做到批量导入。(2)发音问题,本系统还缺少比较重要的一项功能,词汇的发音功能。查询单词时无法做到自动匹配,比如说输入a时,无法自动寻找所有以a开头的词汇。设计体会此次课程设计过程中,我遇到了很多问题,也更加了解JAVAJav是一种网络语言,使Jav程序能在网络的任何地方运行,Jav解释器生成与体系结构无关的字节码结构的文件格式。Jav为了做到结构中立,除生成机器无关的字节码外,还制定了完全统一的语言文本,如Jav的基本数据类型不会随目标机的变化而变化,一个整型总是32位,一个长整型总是64位。为了使Java的应用程序能不依赖于具体的系统,Java语言环境还提供了用于访问底层操作系统功能的类组成的包,当程序使用这些包时,可以确保它能运行在各种支持Java的平台上。通过对JAVA数据库编程的更多的了解,我也获得了一些调试的经验:通过层层的捕获异常来得知错误的发生。在课程设计中出现的问题对我而言是学习与复习的好机会,是它们使我学会了如何自学、如何查阅资料等,让我学习了很多,也让我对旧的知识点有了更深的理解。在这不断的调试、改动的过程中也让我明白了养成良好编程习惯的益处。由于编写程序时容易出错,因此我采用了单个模块单个功能进行调试与测试的方法。在不断的出错与改错的过程中,我学到了很多关于编程和调试程序的知识,使自己的知识体系得到了一定的完善,也使我对平时所学有了很多的了解与更深的理解。面对一系列的问题,失败了尝试,再失败再尝试……通过这次的实践,我发现了自己在编程及对软件开发相关知识的不足,在以后的学习实践中,我要取长补短,敢想、善间,不断加强自身在专业知识方面的能力,为以后的学习与工作打下竖实的基础。参考文献[1]叶核亚•JAVA2程序设计实用教程[M](第2版).北京:电子工业出版社;2008.4[2]陈国君、陈磊、陈锡祯、刘洋.Java2程序设计基础[M],第一版•北京:清华大学出版社,2006:324-337[3] 丘仲潘.Java游戏编程[M].北京:科学出版社,2004.6:125-132[4] 张大治.Java程序设计实用教程[M].北京:清华大学出版社,2008.4:72-81[5]6•附录importjava.awt.*;import.*;importjava.sql.*;importjava.awt.event.*;importjavax.swing.*;ImportJava.io.*;importsun.audio.*;importjavax.swing.JOptionPane;classDataWindowextendsJFrameimplementsActionListener{JFrametopFrame;JDesktopPanedesktop;FileDialogfiledialog_save;//声明文件对话框JTextFieldenglishtext;JTextAreachinesetext;JButtonbl,b2,b3,b4;JLabellabel;JMenuBarmbar;JMenumfile,medit;JMenulEmedic,cdic,back_data,quit,addedit,modedit,deledit,about;DataWindow(){super("英汉小词典“);this.setBounds(250,250,600,400);this.setVisible(true);getContentPane().add(newJScrollPane(chinesetext));mbar=newJMenuBar();setJMenuBar(mbar);mbar.setOpaque(true);mfile=newJMenu(“库存”);medit=newJMenu("采购操作);mbar.add(mfile);mbar.add(medit);edic=newJMenuItjm("英汉词典);cdic=newJMenuItjm("汉英词典);back_data=newJMenuItem("备份词库");quit=newJMenuItjm("退出');//文件菜单addedit=newJMenuItjm("添力加‘);modedit=newJMenuItem("修改');deledit=newJMenuItjm("删除');/编辑菜单about=newJMenuItem("关于..〃);/帮助菜单mfile.add(edic);mfile.add(cdic);mfile.add(back_data);mfile.addSeparator();mfile.add(quit);//mfilemedit.add(addedit);medit.add(modedit);medit.add(deledit);//meditedic.addActionListener(this);cdic.addActionListener(this);quit.addActionListener(this);addedit.addActionListener(this);modedit.addActionListener(this);deledit.addActionListener(this);about.addActionListener(this);englishtext=newJTextField(16);englishtext.setFont(newFont("",15,15));chinesetext=newJTextArea(8,15);chinesetext.setEditable(false);chinesetext.setFont(newFont("",25,25));bl=newJButton("查询");b2=newJButton("添加“);b3= newJButton(”修改');b4=newJButton("删除");JPanelp1=newJPanel(),p2=newJPanel();〃添加面板label=newJLabel("输入要查询的英语单词);label.setFont(newFont("隶书〃,20,20));p1.add(label);pl.add(englishtext);pl.add(bl);p2.add(b2);p2.add(b3);p2.add(b4);this.add(pl,"North");this.add(p2,"South");this.add(newJScrollPane(chinesetext),”enter");bl.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);englishtext.addActionListener(this);back_data.addActionListener(this);filedialog_save=newFileDialog(this,〃保存文件对话框FileDialog.SAVE);filedialog_save.addWindowListener(newWindowAdapter。//对话框增加适配器{publicvoidwindowClosing(WindowEvente)}filedialog_save.setVisible(false);});addWindowListener(newWindowAdapter。{publicvoidwindowClosing(WindowEvente){ System.exit(O);}});publicvoidactionPerformed(ActionEvente)//实现按钮监昕{if(e.getSource()==bllle.getSource()==englishtext){chinesetext.setText("");if(englishtext.getText().equals(“”)){JOptionPane.showMessageDialog(this,"查询对象不能为空',"警告",JOptionPane.WARNING_MESSAGE);}else{try{Listwords();}catch(SQLExceptionee){}}}elseif(e.getSource()==b2lle.getSource()==addedit){AddWinadd=newAddWin();//AddWin是添加窗口的类}elseif(e.getSource()==b3||e.getSource()==modedit){ModifyWinmodi=newModifyWin();//ModifyWin是修改窗口的类}elseif(e.getSource()==b4||e.getSource()==deledit){DelWindel=newDelWin();//DelWin是删除窗口的类}elseif(e.getSource()==edic)〃英汉{label.setText("输入要查询的英语单词:";bl.setVisible(true);}elseif(e.getSource()==cdic)〃汉英{label.setText("输入要查询的汉语意思:";bl.setVisible(true);}elseif(e.getSourceO==back_data)//备份{Filefromfile=newFile("english\\english.mdb");FilelnputStreamfis=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,O,bytesRead);}fos.flush();fos.close();fis.close();}catch(IOExceptione2){}}elseif(e.getSource()==quit)//退出{System.exit(0);}elseif(e.getSource()==about)//关于{finalStringAboutMsg="AElectricalDictionary1.0\n\n"+"Anapplicationwrittentoshowoffthefunctionofdictionary.\n\n”+"WrittenByEdith.\n\n”+"Copyright(c)2005byEdith.AllrightsReserved.";JOptionPane.showMessageDialog(topFrame,AboutMsg);}}publicvoidListwordsOthrowsSQLException//实现查询功能{Stringcname,ename;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}Catch(ClassNotFoundExceptione){}〃建立桥接器ConnectionExlCon=DriverManager.getConnection("jdbc:odbc:Driver={MicroSoftAccessDriver(*.mdb)};DBQ=english'\\english.mdb",””,"");StatementExlStmt=ExICon.createStatement。;if(label.getText().equals("输入要查询的英语单词:")){ResultSetrs=ExlStmt.executeQuery("SELECT*FROM表1");while(rs.next()){ename=rs.getString(“单词”);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论