电子词典java课设含可运行程序讲解_第1页
电子词典java课设含可运行程序讲解_第2页
电子词典java课设含可运行程序讲解_第3页
电子词典java课设含可运行程序讲解_第4页
电子词典java课设含可运行程序讲解_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、NO.1课程设计说明书电子词典1. 课程设计的目的本课程设计利用 Java 编程开发语言,设计一个电子词典,该词典主要支持用户查询需 求,实现英汉互译功能,支持用户自定义词库,能够使用户对词库进行操作,以便用户获得 更多资料。 通过设计这个小词典,将课堂所学应用于实际生活中,学会运用面向对象开发语 言进行简单程序的设计,与此同时也加强了对 Java Swing和 Java Awt 包的使用和对 Java 相 关知识的巩固。 本课程设计也使用了 MS Access数据库做数据持久化, 不仅丰富了电子词典 的内容,同时也加深了对数据库的相关知识的深入了解,这种跨学科的综合设计,锻炼了自 己的编程和

2、综合运用知识的能力,为以后的发展打下了良好基础。2. 设计方案论证2.1 项目开发背景近几年来外语学习已经变为一种潮流, 越来越多的中小学生拥有自己的电子词典。 现在 的数字电子词典容量不断增大,已发展到可以自由扩充词库, 或者从网上下载词库,对词典 进行自动更新。电子词典的功能的需求也越来越强大,作为一个计算机专业的学生,希望根 据英语学习者的需求来设计一个实用电子词典,以帮助英语学习者们更方便快捷的查询单 词、记忆单词、有效自由的对词库进行管理和操作。与此同时也提高一下自己对Java 语言的运用和对程序的开发设计能力。2.2 系统需求分析用户在使用电子词典的时候, 有可能会使用到电子词典的

3、查询功能, 也有可能使用到对 词库的更新功能。通过对用户的需求分析,初步确定该系统的基本需求情况。(1) 用户在打开软件的时候,应该呈现一个友好的查询界面,便于用户操作。(2) 当用户需要查询的时候,软件将提供这个单词的所有信息。(3) 可以自定义单词,使用户可以自动扩充单词库,方便以后使用,并具有针对性。2.2.1 模块功能说明(1) 汉译英功能模块说明:可以实现英文单词对中文词汇的查询功能。当用户输入一个 单词,用户可以单击查询按钮,显示这个单词的中文解释,解释出现在文本区。(2) 英译汉功能模块说明:实现将中文词汇翻译成英语。在查询栏中输入中文,点击查沈阳大学NO.2课程设计说明书询,便

4、出现它的英文解释。(3) 词库的备份模块:此模块可将已有模块备份,保证数据的安全性。(4) 词库的更新模块:此模块有增、删、改等功能。可以根据自己需要,为词库添加相 应的英文单词和汉语解释,或者对已有单词的词义进行补充、修改或删除。(5) 帮助功能模块 : 此模块添加了一些使用该软件的方法,当用户在使用时遇到不清楚的 问题时,可以点帮助文档,根据提示进行操作。2.2.2 系统总体结构设计图 1 系统功能框图沈阳大学课程设计说明书NO.32.2.3 系统功能流程图沈阳大学NO.4课程设计说明书图 2 修改功能函数流程图图 3 添加功能流程图沈阳大学NO.5课程设计说明书2.2.4详细设计(1)

5、系统中有 6 个类 系统运行主类: Dic.java 窗口主界面类: DataWindow 添加单词类: AddWin.java 修改单词类: ModifyWin.java 删除单词类: DelWin.java 使用帮助类: HelpFrame.java(2) 系统运行主类 Dic 的方法Main( ) :程序入口,建立窗体类 DataWindow 的对象。(3) 窗口主界面类 DataWindow 的方法DataWindow( ):构造函数,安排界面布局,设置菜单项和工具按钮 actionPerformed( ):执行按钮动作事件。Listwords( ) ;实现数据查询功能。(4) 添加单

6、词类 AddWin 的方法AddWin( ) :构造函数,安排界面布局,设置监听按钮。 actionPerformed( ):执行按钮动作事件,调用添加 ( ) 方法。 添加( ):实现添加数据功能。(5) 修改单词类 ModifyWin 的方法ModifyWin( ) :构造函数,安排界面布局,设置监听按钮。 actionPerformed( ):执行按钮动作事件,调用修改 ( )方法。 修改( ):实现修改数据功能。(6) 删除单词类 DelWin 的方法 DelWin:构造函数,安排界面布局,设置监听按钮。 actionPerformed( ):执行按钮动作事件,调用删除 ( )方法。

7、删除( ):实现删除数据功能。沈阳大学NO.6课程设计说明书2.3 设计方法2.3.1开发环境Java开发工具 (Java development kit,JDK)是 Sun 公司所开发的一套 Java程序开发工具软 件,它是 Sun公司的网站免费取得。 它与 JDK 的参考文件同样是编辑 Java程序的必备工具。 在编写、编译和运行应用程序时用到 eclipse。2.3.2 功能模块设计图 4 程序主界面(1) 窗口功能说明窗口共有 3 个主要部分:菜单栏、工具条、显示栏。 菜单栏:包括文件、编辑、帮助菜单。工具条:包括输入栏和查询、添加、修改、删除、发生按钮 显示栏:显示查询单词在词典中的

8、所有解释。(2) 菜单说明文件菜单:包括英汉词典、汉语词典、备份词库、退出功能。 编辑菜单:包括添加词汇、修改词汇、删除词汇功能。沈阳大学NO.7课程设计说明书帮助菜单:关于该软件的一些信息。(3) 工具栏说明在向输入栏中输入英 /中文单词,单击查询按钮,在显示栏中将会显示查找所对应词典 中的所有解释。发音按钮:发音纯正标准。方便用户更好的记忆朗读单词。添加、修改、删 除按钮 :可由用户自行添加、修改和删除词库中的词汇。(4) 显示栏说明 显示用户所查询的词义。右击将出现复制、粘贴等命令。方便用复制到其它地方进行其 它如打印、学习等操作。2.4 数据库设计在开始设计电子词典之前,要做一些准备工

9、作,在 Microsoft Access 2003 中,建立一个 数据库,数据库的名字为 english 数据库,其中包括一张表。图 5 建立 Accesss 数据库图 6 表的属性图此英语单词表有两个属性值,分别是单词和解释。 其中单词字段为主键,保证输入不可沈阳大学课程设计说明书NO.8以为空。其类型都是文本类型。其中,单词表示英文单词信息;解释代表汉语解释信息。表 1 英语单词解释表2.4.1 使用 JDBC 连接数据库JDBC 是 Java程序连接数据库的应用程序接口 (API) 。JDBC 是由一群类和接口组成,通过调用这些类和接口所提供的成员方法,我们可以连 接各种不同的数据库,进

10、而使用 SQL 命令对数据库进行查询、插入、删除、更新等操作。 Java程序包括 Java小程序和应用程序,主要是根据 JDBC 方法实现对数据库的访问和操作。 完成的主要任务有请求与数据库建立连接;向数据库发送 SQL 请求;为结果集定义存储应 用和数据类型;查询结果;错误处理;控制传输;提交关闭连接等操作。2.4.2JDBC 编程要点(1) 引用 java.sql 包: import java.sql.*;(2) 使用 Class.forName()方法加载相应数据库的 JDBC 驱动程序。Class.forName(“ sun.jdbc.odbc.JdbcOdbcDriver; “)(3

11、) 定义 JDBC 的 URL 对象。(4) 连接数据库。Connection s=DriverManager.getConnection(con URL);(5) 使用 SQL 语句对数据库进行操作。(6) 解除 Java 与数据库的连接并关闭数据库。沈阳大学课程设计说明书NO.9(7) 常用的 JDBC 类有, DriverManage类, Connection 类, Statement类, PreparedStatemen类t , ResultSet类。3. 程序运行结果图 7 文件菜单界面文件菜单:包括英汉词典、汉语词典、备份词库、退出功能。当单击英汉词典时,主界 面出现输入查询英语单

12、词;单击汉语词典,显示输入要查询的汉语意思;单击退出,将退出 操作;单击备份数据库,将对已有的数据进行备份,以便保证数据的安全。沈阳大学NO.10课程设计说明书图8 英汉词典英译汉英汉词典,可以实现英文单词对中文词汇的查询功能。 当用户输入一个单词,用户可以 单击查询按钮,显示这个单词的中文解释,解释出现在文本区,但是输入不可以为空。图 9 英汉词典汉译英实现将中文词汇翻译成英语。在查询栏中输入中文,点击查询,便出现它的英文解释沈阳大学NO.11课程设计说明书图 10 编辑菜单界面编辑菜单:包括添加词汇、修改词汇、删除词汇功能。可以扩充词库,按照自己的需要,完善词库,也可对原有的信息进行修改、

13、补充等操作。图 11 删除界面单击主界面的删除按钮,出现删除界面,在输入单词栏中填上要删除的单词,然后单击 提交按钮。如果要退出,也可以点击取消,退出删除界面,回到主界面。沈阳大学课程设计说明书NO.12图 12 修改界面图 13 添加单词界面单击主界面的修改按钮, 出现修改界面,在输入单词栏中填上要修改的单词,下面写上它的汉语解释,然后单击提交按钮。如果输入有误,也可以点击取消,退出修改界面。单击主界面的添加按钮,出现添加单词界面, 在输入单词栏中填上要添加的单词, 下面写上它的汉语解释,然后单击提交按钮。如果输入有误或要退出,也可以点击取消,退出添沈阳大学课程设计说明书NO.13加单词界面

14、,回到主界面图 14 帮助菜单界面帮助菜单包括帮助和关于两个选项。 此模块添加了一些使用该软件的方法, 当用户在使 用时遇到不清楚的问题时,可以点帮助文档,根据提示进行操作。沈阳大学NO.14课程设计说明书图 15 关于界面此界面显示关于此软件的一些信息,供用户参阅。4. 设计体会通过本次设计,进一步深化了课堂上所学的知识,深刻理解了 Java 语言的重要概念及 其面向对象的特点,熟练的应用面向对象的思想和设计方法解决实际问题。巩固所学 java 语言基本知识,增进 Java语言编辑基本功,掌握 JDK、eclipse 等开发工具的运用,拓展常 用类库的应用, 把所学课程及相关知识加以融会贯通

15、。 除此之外,对于图形用户界面的设计, 从课本的 Awt 包扩展到 Swing 包,利用 Swing 编程设计漂亮的图形用户界面,增加了一些 新的的效果。在此次设计中,预先设计的所有功能均能实现,而且执行效果较好。但是,由 于时间有限,此电子词典的功能还不够完善。 例如可以增加背单词功能,英文单词游戏等功 能,由于时间和能力有限,其他功能待日后完善。在此次课程设计中,自己解决问题的能力得到了提高。由于课堂所学有限,不足以解决 实际问题,所以在设计过程中遇到的问题, 参阅了大量的书目和借助网络,再加上老师的指 导,最终问题都得到了解决。这为以后进行复杂的程序设计奠定了很好的基础,同时也培养 了自

16、己获得信息、总结信息,以及综合运用所学知识的能力。5. 参考文献1 胡宋军.Java2编程技术与实例 M. 北京: 人民邮电出版社 , 2004.5:95-1252 岩洪亮等 .JAVA 课程设计教程 M. 北京:北京电子工业出版社 ,2004.5: 26-423 刘志铭,孙明丽等 .数据库系统开发案例精选 M. 北京:清华大学出版社 ,2005.6:235-2634 王国辉, 吕海涛.数据库系统开发案例 M. 北京:人民邮电出版社 , 2007.3:106-1775 陈国君, 陈锡祯. Java2程序设计基础 M. 北京:清华大学出版社 , 2006.1:316-3386 袁海燕. Java

17、实用程序设计 100例M. 北京:人民邮电出版社 , 2005.6:210-2246. 附录主要代码:import java.awt.*;沈阳大学NO.15课程设计说明书import .*;import java.sql.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import sun.audio.*;import javax.swing.JOptionPane;class DataWindow extends JFrame implements ActionListenerJFrame topFrame; J

18、DesktopPane desktop;FileDialog filedialog_save;JTextField englishtext;JTextArea chinesetext; JButton b1,b2,b3,b4,b5;JLabel label;JMenuBar mbar;JMenu mfile,medit,mhelp;JMenuItem edic,cdic,back_data,quit,addedit,modedit,deledit,hhelp,about; DataWindow() super( 英汉小词典 );this.setBounds(250,250,600,400);

19、this.setVisible(true);getContentPane().add(new JScrollPane(chinesetext); mbar=new JMenuBar();setJMenuBar(mbar); mbar.setOpaque(true); mfile=new JMenu( 文本 ); medit=new JMenu( 编辑 ); mhelp=new JMenu( 帮助 ); mbar.add(mfile);mbar.add(medit); mbar.add(mhelp);edic=new JMenuItem( 英汉词典 );沈阳大学NO.16课程设计说明书cdic=

20、new JMenuItem( 汉英词典 ); back_data=new JMenuItem( 备份词典 ); quit=new JMenuItem( 退出 ); / 文件菜单 addedit=new JMenuItem( 添加词汇 ); modedit=new JMenuItem( 修改词汇 ); deledit=new JMenuItem( 删除词汇 );/ 编辑菜单 hhelp=new JMenuItem( 帮助 );about=new JMenuItem( 关于 ); /帮助菜单mfile.add(edic);mfile.add(cdic); mfile.add(back_data);

21、 mfile.addSeparator(); mfile.add(quit); medit.add(addedit); medit.add(modedit); medit.add(deledit); mhelp.add(hhelp); mhelp.add(about); edic.addActionListener(this); cdic.addActionListener(this); quit.addActionListener(this); addedit.addActionListener(this); modedit.addActionListener(this); deledit.

22、addActionListener(this); hhelp.addActionListener(this); about.addActionListener(this); englishtext=new JTextField(16); englishtext.setFont(new Font(,15,15); chinesetext=new JTextArea(8,15); chinesetext.setEditable(false); chinesetext.setFont(new Font(,25,25); b1=new JButton( 查询 ); b2=new JButton( 添加

23、 ); b3=new JButton( 修改 ); b4=new JButton( 删除 );沈阳大学NO.17课程设计说明书b5=new JButton();JPanel p1=new JPanel();JPanel p2=new JPanel(); / 添加面板 label=new JLabel( 输入要查询的英语单词 );label.setFont(new Font( 隶书 ,20,20); p1.add(label);p1.add(englishtext); p1.add(b1);p1.add(b5);p2.add(b2);p2.add(b3);p2.add(b4); this.add

24、(p1,North);this.add(p2,South); this.add(new JScrollPane(chinesetext),Center);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this); b4.addActionListener(this);b5.addActionListener(this); englishtext.addActionListener(this);back_data.addActionListener(this);filedialog_save=

25、new FileDialog(this, 保存文件对话框 ,FileDialog.SAVE);/ 定义 保存文件对话框 filedialog_save.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e) filedialog_save.setVisible(false);); addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e) System.exit(0);沈阳大学NO.18课程设计说明书

26、);public void actionPerformed(ActionEvent e) / 实现按钮监听事件if(e.getSource()=b1|e.getSource()=englishtext) / 如果是 查询 chinesetext.setText(); if(englishtext.getText().equals()JOptionPane.showMessageDialog(this, 查 询 对 象 不 能 为 空 , 警 告 ,JOptionPane.WARNING_MESSAGE);else tryListwords(); catch(SQLException ee) e

27、lse if(e.getSource()=b2|e.getSource()=addedit) / 如果是 添加 new AddWin(); /AddWin 是添加窗口的类else if(e.getSource()=b3|e.getSource()=modedit) / 如果是 修改 new ModifyWin(); /ModifyWin 是修改窗口的类else if(e.getSource()=b4|e.getSource()=deledit)new DelWin(); /DelWin 是删除窗口的类else if(e.getSource()=b5) / 如果是语音文件,则读出单词if(eng

28、lishtext.getText()!=null)try沈阳大学课程设计说明书InputStream is=getClass().getResource(sound/+englishtext.getText().trim()+.wav).openStream();/AudioPlayer.player.start(is);catch(IOException e1)else if(e.getSource()=edic)/ 英汉label.setText( 输入要查询的英语单词: );b1.setVisible(true);b5.setVisible(true);else if(e.getSour

29、ce()=cdic) / 汉英label.setText( 输入要查询的汉语意思: );b1.setVisible(true);b5.setVisible(true);else if(e.getSource()=back_data) / 备份File fromfile=new File(englishenglish.mdb);FileInputStream fis=null;filedialog_save.setVisible(true);tryfis=new FileInputStream(fromfile); / 建立文件输入流int bytesRead; / 定义变量来存储输入流中读取的

30、文件byte buf=new byte4*1024; / 定义 4KB 容量的 buffer 数组File tofile=new File(filedialog_save.getDirectory(),filedialog_save.getFile();/FileOutputStream fos=new FileOutputStream(tofile);/ 建立文件输出流 while(bytesRead=fis.read(buf)!=-1)/ 写入文件 ( 备份文件 )fos.write(buf,0,bytesRead);NO.19建立新文件对象沈阳大学NO.20课程设计说明书fos.flus

31、h();fos.close();fis.close();catch(IOException e2) else if(e.getSource()=quit) / 退出System.exit(0);else if(e.getSource()=about) / 关于final String AboutMsg=A Electrical Dictionary 1.0nn+An application written to show function of dictionary.nn+nn+Copyright(c) 2005.;JOptionPane.showMessageDialog(topFrame,AboutMsg);else if(e.getSource()=hhelp)JInternalFrame help=new HelpFrame();help.setVisible(true);public void Listwords() throws SQLException / 实现查询功能String cname,ename;tryClass.forName(sun.jdbc,odbc,JdbcOdbcDriver);catch(ClassNotFoundException e) / 建立

温馨提示

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

评论

0/150

提交评论