基于java的英汉互译词典的设计课程设计概要Word文档下载推荐.docx
- 文档编号:17343147
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:31
- 大小:944.19KB
基于java的英汉互译词典的设计课程设计概要Word文档下载推荐.docx
《基于java的英汉互译词典的设计课程设计概要Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于java的英汉互译词典的设计课程设计概要Word文档下载推荐.docx(31页珍藏版)》请在冰豆网上搜索。
1.2设计任务与要求..................................................................................................1
2.1现状分析...............................................................................................................2
4.2.1窗体类界面的实现...................................................................................13
4.2.2添加单词界面的实现...............................................................................17
4.2.3单词的修改...............................................................................................22
一、设计任务与要求
1.1选题目的与意义
二十世纪后半叶,以电子计算机为代表的现代科学获得了突飞猛进的发展并迅速和人们的日常生活结合在一起。
计算机技术的发展和进步也使电子语言词典的诞生成为可能。
尽管电子词典只有十来年的历史,但它却已经发展壮大,成为词典家族中具有旺盛生命力的一员。
我们日常的学习生活中,常会遇到这样的问题:
在工作时或在网上冲浪,或者电子邮箱中收到一封外国朋友发的英文E-mail,遇到某些陌生的单词,可又疲于去翻查厚重的英文字典时,电脑中所安装的英汉电子词典便成为了最为方便、快捷的选择。
电子词典是一种多功能的词典类工具软件,它可以即时翻译,快速、准确、详细地查阅英文单词,或将中文单词进行英文翻译,使自己的知识面拓展得更宽、更广。
同时为了巩固所学JAVA语言编辑基本功,掌握Jdk,Eclipse,Jcreator等开发工具的运用,拓宽常用类库的应用。
Java语言是当今流行的网络编程语言,它具有面向对象,跨平台,分布应用等特点,它贴近自然的语言,而且有利于软件的维护和继承。
我们通过该教学环节与手段,把所学课程及相关知识加以融会贯通,全面掌握JAVA语言的编程思想及面向对象程序设计的方法,为今后从事实际工作打下坚实的基础。
1.2设计任务与要求
为了巩固和加深对面向对象程序设计的基本概念、基本理论和实现技术的理解。
掌握Java开发的主要环境与工具,掌握面向对象的常用控件的使用方法。
掌握面向对象系统分析与设计的基本方法和步骤,并能针对简单的实际应用问题进行初步地分析和设计以及掌握Java编程语言,并针对具体应用问题进行编程实现。
所以我们设计了一种基于java的英汉互译词典。
本系统是一个采用mysql5.6作为数据库,用JAVA作为开发工具的英汉电子词典,内有英汉词典、汉英词典和备份词库。
它不仅可实现英译汉、汉译英的基本翻译功能,还可以让用户根据自己的需要添加、修改、删除词库,形成自己的词库。
除此之外本地词库如果不能查询到的单词,会自动提示是否进行在线联网查询,还能对查询到的单词进行发音,插图解释。
二、需求分析
2.1现状分析
当今时代是信息化时代,而信息的数字化也越来越被人们所重视,所以,数字化技术的重要性也逐渐体现了出来,主要体现在以下几个方面:
数字化是数字计算机的基础,数字化是软件技术的基础,是智能技术的基础,数字化是信息社会的技术基础,数字化是信息社会的经济基础。
词典作为一种为大众服务的工具书,已经渐渐退居二线了,进而出现了另一种查找方式更加简便,更加精确,词汇量更加丰富而且随身携带更加方便的工具,那就是电子词典,应该说这是一个新旧交替的过程,电子词典取代传统词典只是时间的问题。
所以说电子词典的发展前景是明朗的,电子词典生产厂家也如同雨后春笋般崛起了。
2.2用户需求分析
英汉词典作为一个常用的学习工具,是我们经常要使用的。
该系统能完成一个简单的电子词的功能。
该系统在查阅单词方面主要用于实现英译汉、汉译英、单词发音、插图等功能,在系统性能方面主要完成了单词库添加、修改、删除功能以及一些小工具。
1、英译汉功能:
当使用者输入的是英文时,词典会根据中文正规则字进行自动判定是否是英文字符,如果是英文字符,系统将自动在数据库中查找匹配并给出相对应的汉语意思。
2、汉译英功能:
当使用者输入的是中文时,词典也会自行判定是否是中文字符,如果是中文字符,系统将自动在数据库中查找匹配并给出相对应的英文单词,在汉译英时还支持模糊匹配。
3、备份词库功能:
我们可以将现有的词库做一份备份文件存入另一空间,以备文件丢失时使用。
4、词汇的添加功能:
用户可以添加词库内没有的单词及其解释。
添加成功后该单词将在词库内保存,以便下次查询。
5、词汇的修改功能;
用户可以实现对词库中已有单词及其解释的修改。
修改后的结果将保存在词库中。
6、词汇的删除功能;
用户可自行删除词库中已有的单词,同时次单词的解释也将被一同删除。
7、将查出的单词正确的发音,并将该单词的意思用对应的图片显示,以及显示该词的词性以及音标。
8、如果查询不到数据库中没有的单词,会提示是否进行联网查询,所以本电子英汉词典具有本地和在线查询功能。
9、系统还带有小工具如:
计算器、记事本、以及英文网站收藏夹,用来辅助用户更方便简洁的使用电子词典。
2.3开发环境分析
本系统是一个采用mysql5.6作为数据库,用JAVA作为开发工具的英汉电子词典,内有英汉词典、汉英词典和备份词库。
它不仅可实现英译汉、汉译英的基本翻译功能,还可以让用户根据自己的需要添加、修改、删除词库,形成自己的词库,还可以联网在线查询词库中没有的单词。
(1)硬件环境
Cpu:
Intel(R)penten(TM)2DuoCpu
内存:
2G硬盘空间:
320G
(2)软件环境
32位win7操作系统。
JDK和eclipse软件环境。
三、系统设计
3.1系统总体设计
电子英汉词典系统包括三个大方面:
数据库的设计,显示界面,监控鼠标点击事件。
1、数据库中包括英译汉,汉译英以及备份词库,以及在线联网查询,这也是本电子词典的最主要功能。
2、主窗体界面中包括词典管理和小工具,词典管理的二级菜单包括:
删除单词、修改单词、添加单词、查询统计;
小工具的二级菜单包括:
计算器、记事本、收藏夹。
该英汉词典的副窗体界面主要包括:
单词拼写、单词词性、单词英标、单词发音、单词图片、单词释义。
3、系统总体设计图如下:
程序共有三个大类的函数,包括主副窗体界面的设计、Commons组件工具的添加设计、保存单词的格式类型设计。
(1)本英汉互译词典的界面分为主窗体界面和副窗体接面。
主窗体界面由MianFrame类实现,MianFrame实现了主窗体的布局以及菜单显示,还包括了二级菜单的实现。
副窗体由WordModificationDialog和WordAdditionDialog这两个类来实现,其中WordAdditionDialog实现添加单词的界面,WordModificationDialog实现修改单词的界面,其中这两个界面还包括了一些子界面,FrequencyTableDialog、ImagePreviewDialog、PhoneticSymbolsDialog分别实现副窗体的频率窗体、图片显示栏、单词英标栏界面的显示。
(2)Commons组件工具的添加主要包括了ConfigurationUtil、DBHelper、SwingUtil、WordUtil等类,ConfigurationUtil实现了读取configuration.properties从属文件和XML文件,DBHelper实现了底层的数据库操作,SwingUtil根据窗体的大小,计算居中显示时左上角坐标,WordUtil提供Word对象的常用操作,即查询时输入的英文或中文字符。
(3)保存单词的格式类型设计由一个word类来实现,该类封装了单词拼写、单词音标、单词发音音标位置、单词词性、单词图片、单词含义、单词查询频率统计。
3.2功能模块设计
(1)英译汉功能模块说明:
可以实现对英文单词的查询功能。
用户文本框中输入要查询的英文单词。
若该单词存在于词库中,则会在文件对话框中显示其词性及中文翻译;
若该单词没有存在于词库中,则会弹出提示框、提示是否要进行联网查询。
(2)汉译英功能模块说明:
可以实现对中文单词的查询功能。
用户文本框中输入要查询的中文单词。
若该中文存在于词库中,则会在文件对话框中显示其词性及英文翻译;
若该单词没有存在于词库中,则会弹出提示框、提示是否要进行联网查询,且该词典还能进行中文模糊查询。
(3)备份词库功能模块说明:
可以实现对现有词库的备份,可将当前词库存入用户所设置的任意位置。
(4)添加词汇功能模块说明:
可以实现对词库的添加。
用户可自行输入所添加的单词及其解释,若添加的是词库中没有的单词,系统在添加成功后提示添加成功。
若添加的是词库中已有的单词,系统会弹出警告,说明此词汇已存在。
(5)修改词汇功能模块:
可以实现对词库中已有单词的修改。
用户可自行修改词库中的单词及其解释。
若输入的单词不存在于词库中,系统会弹出警告,说明不存在此单词。
(6)删除词汇功能模块:
可以删除词库中已有的单词。
用户可自行删除词库中已有的单词,再删除此单词的同时,其解释也会随之被删除,如输入的单词不存在于词库中,系统用会弹出警告,说明不存在此单词。
(7)单词查询频率统计模块,当用户查询一个单词超过设定的查询次数阈值(10次)时,会用红色字体醒目标注,提示用户为高频使用词汇。
(8)小工具模块:
系统还带有小工具如:
3.3类的设计
主要类设计:
1.WordUtil类
WordUtil工具类主要提供Word对象的常用操作。
方法
功能
Logger.getLogger()
获得日志对象
ConfigurationUtil.getLevel()
从属性文件中读取日志等级
validateSpelling()
使用正则表达式校验单词的拼写
copyMP3ToDirectory()
复制用户选择的MP3文件到指定的文件夹,并使用单词拼写命名。
返回新文件绝对路径。
transformImageToBlob()
将用户选择的图片文件转换成Blob类型方便存储
2.ConfigurationUtil工具类
ConfigurationUtil类主要是读取configuration.properties从属文件和XML文件,完成对词典基本设置的读取。
PropertiesConfiguration()
加载属性文件
getFrequencyProperty()
用于读取默认频率属性
IterableMapgetFavorite()
用于读取XML文件中的收藏夹信息,并保存到可遍历的Map对象中
3.DBHelper类oDBHelper类用于完成底层的数据库操作,包括设置数据库的属性,以及对数据库的一些读写操作。
getConnection()
从数据源中获得连接
InsertSingleWord()
用于向数据表中插入一个单词
udpateSingleWord()
用于修改数据表中的一个单词
DeleteSingleWord()
用于删除数据表中指定id的单词
List<
Word>
retrieveAllWords()
用于获得表格中保存的全部单词并保存到List中
RetrieveWordBySpellingForUser()
用于根据用户输入的拼写查询单词,其作用是使单词查询频率增加一
RetrieveSpellingAndMeaningByFrequency()
用于获得大于配置文件中默认频率的单词拼写和含义
RetrieveRandomWord()
获得随机单词,用于在程序启动时显示
4.MainFrame类
MainFrame类窗口主界面类,包括菜单栏,工具栏,显示栏,添加监视器执行动作的事件。
MainFrame()
安排界面布局,设置菜单项和工具按钮
actionPerformed()
执行按钮的动作事件
valueChanged()
下拉列表的监听事件
5.WordAdditionDialog类
WordAdditionDialog类实现单词的添加功能。
WordAdditionDialog()
设置“添加”窗口界面
insertSingleWord()
实现和数据库的连接
6.WordModificationDialog类
WordModificationDialog类实现单词的修改功能。
WordModificationDialog()
uptakeSingleWord()
7.DocumentSizeFilter类
DocumentSizeFilter类用于限制文档可以输入的字符串长度,当超过指定长度时将发出提示声音。
maxSize()
获得文本的最大长度
super.insertString()
调用父类中的方法
Toolkit.getDefaultToolkit().beep()
发出提示声音
8.FileChooserAccessory类
FileChooserAccessory用于为文件选择器提供预览图片的功能
setPreferredSize()
设置控件最佳大小
chooser.addPropertyChangeListener()
为文件选择器增加属性变化事件监听
evt.getPropertyName()
从从属性文件中获得属性名称
evt.getNewValue()
获得用户选择的对象
9.JTextPaneUtil类
JTextPaneUtil类,使用文本窗格显示Word对象的内容
String[]initalString()
定义要显示的文档,控件使用空格表示
String[]initalStyle()
定义要显示的样式名称
10.WordActionUtil类
WordActionUtil类,用于显示图片和播放MP3文件。
获取动作事件所对应的命令
e.getActionCommand()
实时监听按键事件
3.4数据库设计
Java数据库连接(JDBC)由一组用Java编程语言编写的类和接口组成。
JDBC为工具/数据库开发人员提供了一个标准的API,使他们能够用纯JavaAPI来编写数据库应用程序。
然而各个开发商的接口并不完全相同,所以开发环境的变化会带来一定的配置变化。
本系统采用的是mysql数据库的连接方式。
数据表的格式
字段名
字段类型
长度
备注
id
int
11
不可为空
spelling
char
20
phoneticSymbols
pronunciation
50
partOfSpeech
image
Blob
meaning
200
frequency
各功能模块E-R图如下:
(1)文件模块子E-R图
文件模块中主要目的就是要完成英汉互译功能。
其中包括英译汉功能模块,汉译英模块功能,备份词库模块功能
(2)编辑模块子E-R图
编辑模块的主要目的就是要进行单词的添加修改与删除功能。
(3)工具模块E-R图
工具模块的主要目的就是使用户更方便的使用英汉词典,比如可以很快捷的使用记事本记下不熟悉的单词,还可以直接在词典快捷的访问权威的英文翻译网站。
四、程序实现
4.1程序流程图
分析电子词典的总体情况,划分系统边界,识别系统的数据来源和去处,确定外部实体,得出系统的顶层数据流程图;
然后划分出几个主要的信息管理功能,本系统的主要数据的工作流包括以下几个方面:
英汉词典,汉英词典,备份词库,添加词汇,修改词汇,小工具。
明确各功能之间的联系,绘制出数据流程图,如下图所示:
4.2关键算法与技术实现
4.2.1主窗体类界面的实现
publicclassMainFrameextendsJFrame{
publicMainFrame(){
setTitle("
英汉双语词典"
);
//设置窗体标题
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//当关闭窗体是退出程序
setSize(600,371);
//设置窗体大小
setLocation(SwingUtil.centreContainer(getSize()));
//让窗体居中显示
JMenuBarmenuBar=newJMenuBar();
setJMenuBar(menuBar);
JMenudictionaryManagementMenu=newJMenu("
词典管理"
dictionaryManagementMenu.setFont(font);
menuBar.add(dictionaryManagementMenu);
JMenuItemwordAdditionMenuItem=newJMenuItem("
添加单词"
wordAdditionMenuItem.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
do_wordAdditionMenuItem_actionPerformed(e);
}
});
wordAdditionMenuItem.setFont(font);
dictionaryManagementMenu.add(wordAdditionMenuItem);
JMenuItemwordMotificationMenuItem=newJMenuItem("
修改单词"
wordMotificationMenuItem.addActionListener(newActionListener(){
do_wordMotificationMenuItem_actionPerformed(e);
wordMotificationMenuItem.setFont(font);
dictionaryManagementMenu.add(wordMotificationMenuItem);
JMenuItemwordDeletionMenuItem=newJMenuItem("
删除单词"
wordDeletionMenuItem.addActionListener(newActionListener(){
do_wordDeletionMenuItem_actionPerformed(e);
wordDeletionMenuItem.setFont(font);
dictionaryManagementMenu.add(wordDeletionMenuItem);
JMenuItemwordFrequencyMenuItem=newJMenuItem("
查询统计"
wordFrequencyMenuItem.addActionListener(newActionListener(){
do_wordFrequencyMenuItem_actionPerformed(e);
wordFrequencyMenuItem.setFont(font);
dictionaryManagementMenu.add(wordFrequencyMenuItem);
JMenutoolMenu=newJMenu("
小工具"
toolMenu.setFont(font);
menuBar.add(toolMenu);
JMenuItemnotep
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 java 英汉 词典 设计 课程设计 概要