JAVA设计实现电子词典
- 格式:doc
- 大小:147.50 KB
- 文档页数:14
java课程设计英汉双语词典一、教学目标本课程的教学目标是使学生掌握Java编程的基本技能,能够运用Java语言开发简单的英汉双语词典应用程序。
具体目标如下:1.知识目标:–理解Java语言的基本语法和结构。
–掌握面向对象编程的基本概念和方法。
–了解英汉双语词典的基本结构和实现方式。
2.技能目标:–能够使用Java语言编写简单的程序。
–能够运用面向对象编程的方法设计程序。
–能够独立完成英汉双语词典的编程实现。
3.情感态度价值观目标:–培养学生的编程兴趣和自信心。
–培养学生解决问题的能力和团队合作精神。
–培养学生对编程技术和计算机科学的热爱。
二、教学内容本课程的教学内容主要包括Java语言的基本语法和结构、面向对象编程的方法、英汉双语词典的基本结构和实现方式。
具体教学大纲如下:1.Java语言的基本语法和结构:–数据类型、变量和运算符。
–控制结构和函数。
–数组和字符串的操作。
2.面向对象编程的方法:–类的定义和创建。
–属性和方法的封装。
–继承和多态的应用。
3.英汉双语词典的基本结构和实现方式:–词典的数据结构和存储方式。
–词条的添加、删除和查找操作。
–词典的界面设计和用户交互。
三、教学方法本课程的教学方法主要包括讲授法、案例分析法和实验法。
具体方法如下:1.讲授法:通过讲解和演示的方式,向学生传授Java语言的基本语法和结构、面向对象编程的方法以及英汉双语词典的基本结构和实现方式。
2.案例分析法:通过分析具体的英汉双语词典案例,让学生理解和掌握词典的编程实现方法。
3.实验法:通过实验和实践的方式,让学生动手编写Java程序,培养学生的编程技能和解决问题的能力。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。
具体资源如下:1.教材:选用《Java编程基础》作为主教材,介绍Java语言的基本语法和结构、面向对象编程的方法。
2.参考书:推荐《Java核心技术》等参考书,供学生深入学习和参考。
基于JA V A的电子词典项目报告班级:09软件二班******指导教师:***时间:10年12月13日至11年1月7日目录第一章需求分析.................................................................................................................... - 1 -1.1 项目描述........................................................................................................................... - 1 -1.2 需求分析........................................................................................................................... - 1 -1.2.1 业务流程........................................................................................................................ - 1 -1.2.2 系统功能需求................................................................................................................ - 1 -1.2.3 数据分析........................................................................................................................ - 1 -第二章开发工具与开发环境................................................................................................ - 2 -2.1Java开发平台.............................................................................................................. - 2 -2.2JBuilder2006/Eclipse/Jcreator开发环境..................................................................... - 2 -2.2.1 JBuilder开发环境 ............................................................................................................ - 2 -2.2.2 Eclipse开发环境 ........................................................................................................... - 3 -2.2.3 JCreator开发环境 ............................................................................................................ - 3 -2.3Microsoft SQL server 2005 数据库............................................................................ - 4 -2.3.1 ............................................................................................................................................ - 4 -第三章系统设计.................................................................................................................... - 4 -3.1实现数据库表.............................................................................................................. - 4 -3.2 主要类设计 ...................................................................................................................... - 5 -3.3 操作界面........................................................................................................................... - 8 -第四章主要功能实现与部分代码...................................................................................... - 61 -3.5SQLJDBC配置:sqljdbc4.jar包............................................................................ - 61 -第五章程序安装运行与使用.............................................................................................. - 62 -5.1 程序安装与运行............................................................................................................. - 62 -5.2 程序测试......................................................................................................................... - 64 -5.2.1 测试目的...................................................................................................................... - 64 -5.2.2 测试环境.................................................................................................................... - 64 -5.2.3 测试方法与测试过程.................................................................................................. - 64 -第六章存在问题与体会...................................................................................................... - 65 -6.1 存在问题......................................................................................................................... - 65 -6.2 心得体会......................................................................................................................... - 65 -第七章致谢 ........................................................................................................................ - 67 -参考文献.......................................................................................................................... - 68 -第一章需求分析1.1 项目描述该项目设计开发英文电子词典,实现用户对英文电子词典的使用。
JA V A与“英汉小词典”的实现叙又2OO8.O4(下删)圆JV与"英汉小词典"的实现口许媛(陕西安康职业技术学院陕西?安康725000)摘要本文叙述了Java的出现背景,主要特点以及用Java语言制作的英汉小词典,指出Java是当今1T产业和人类文明的创新和希望.关键词程序设计JA V AJDBC英汉小词典中图分类号:G434文献标识码:A文章编号:1672—7894(2008}04—059—01——,JavaJava是1995年6月由Sun公司的JamesGosling开发的革命性编程语言.它以c++为基础,但是却是一个全新的软件开发语言.Java能使所有东西从桌面计算平稳的转变为基于网络的计算,它是专门为此而建立的,并显然是为了完成这个任务而来的.使用Java,我们可以相对轻松的一天编写一个有条理的网络程序.今天,Java的网络功能正在飞跃发展,不断有新的特性增加到这个有价值的基础上.Java语言被美国着名杂志PC?Magazine评为1995年十大优秀科技产品(计算机类仅此一项人选)之一,随之大量出现了用Java编写的软件产品,受到工业界的重视与好评,认为"Java是八十年代以来计算机界的一件大事".Java语言是一种适用于网络编程的语言,它的基本结构与c++极为相似,但却简单得多.它集成了其它一些语言的特点和优势,又避开了它们的不足之处.它具有简单,面向对象,稳定,平台独立,解释型,多线程,动态等主要特点.还有高性能,分布性,强大性,解释性,可移植性等.二,设计过程整体设计过程中我使用了JDBC——JA V A数据库连接.们在这简单地说,就是JDBC能完成3件事:(1)与一个数据库建立连接;(2)向数据库发送SQL语句;(3)处理数据库返回的结果;系统可以采用任何一种流行的,Java支持的操作系统,本系统一个用Access设计的数据库的数据表中.在Access数据库中,数据表名称为"词典内容",表中有2个字词典,所以,用户在使用或者运行的过程中应该按照英语单词查询.Importjava.awt.;.:Importjava.sq1.;Importjava.awt.event.; ClassDataWindowextendsFrameimplementActionListener {TextHeldenglishtext;TextAreachinesetext;Buttonbutton; DataWindow(){super("英汉小词典");setBackground(Color.cyan);setBounds(150,150,300,12o);setVisible (true);englisbtext=newTextField(16);chinesetext=newTextArea(5,1o); button=newButton("确定");panelpl=newPanel(),p2=newPanel(),p1.add(newLabe1("输入所要查询的英语单词:"));p1.add(eng—lishtext);p2.add(button);add(p1,"North");addS2,"South");add(chinesetext,"Center"); chinesetext.setBackground(Color.pink);button.addActionListener(this); addWindowListenenewWindowAdapter0 {publicvoidwindowClosing(WindowEvente){setVisible(false);System.exit(0);}1); publicvoidactionPerformed(ActionEvente)I遗e.getSourceo==button){chinesetext.setText0;}Catch(SQLExceptionec){}PublicvoidListstudent0throwsSQLException {Stringcname,ename;try{Class.forName("sun.jdbc.osbcJdbc0dbcDriner");}catch(ClassNotFoundExceptione);{)ConnectionEx1con=DriverManager.getConnection(''jdbc:adbc: test","gxy","ookk");StatementExlStmt=ExlCon.createStatement0;ResultSetrs=ExlStmt.executeQuery("SELECTFROM词典内容");While(rs.nextO){ename=rs.getString("单词");cname--rs.getString("解释");if(ename.equals(englishext.getText0)){chinesetext.append('kn'+cname);break;}ExlCon.close0;if(chinesetext.getText0.trimO.equ~e("查询结果")){chinesetext.append('kn'+"没有此单词");} publicclassDatabaseTest{publicstaticvoidmain(StringargsH),{DataWindowwindow=newDataWindowO;window.pack0;三,运行界面分,第一部分显示"输入要查询的英语单词:",有一空白文本框让后,可以单击"确定"按钮.Java自问世以来,以其得天独厚的优势,在IT业界掀起了研究,件无关的,"编写一次,到处运行"的高级语言和计算平台,Java天生就具有将网络上的各个平台连成一体的能力,真正实现了"网络就是计算机"的理念.以Java为代表的网络的成长,改变了我们的一场类似印刷术的重大变革.毫无疑问,它将影响人类社会的发展.Java是当今IT产业和人类文明的创新和希望!参考文献:[I】(美)DavidM.GearyJava2.Java2图形设计卷二:Swing编程思想;(美) BruceEekdUNIX网络编程(第一卷).[2]耿祥义,张跃平着.王克宏审java2实用教程(修订).清华大学出版社, 2o01.59。
LANZHOU UNIVERSITY OF TECHNOLOGY毕业设计基于Android的电子词典软件的设计与实现学生姓名学号专业班级指导教师学院计算机与通信学院摘要本文设计了基于Android平台的电子词典软件。
此英文词典包括两部分,一部分是离线的英文词典,一部分是在线的英文词典。
离线的英文词典主要是使用Android自带的轻量级数据库SQLite来保存单词信息,系统通过SQLite数据库的query方法来查找到与指定英文相对应的单词的中文释义。
在线的英文词典是利用oracle数据库来保存单词信息,然后利用Http 协议解析出单词信息显示到手机界面上,同时还能够增加、删除、更新单词信息。
当然,对于查询到的生疏的单词可以添加到单词本以便于随时复习。
关键词:Android,oracle数据库,SQLite数据库,英文单词AbstractIn this paper, we design and implementation about electronic dictionary software which is based on the Android platform. English dictionary mainly include two parts, and one is to realize the offline English dictionary, the other is to realize the online English dictionary. Offline English dictionary is mainly used a lightweight database SQLite that belongs to Android to preserve words information, we find the specified English word corresponding to the Chinese interpretation by using query method of SQLite database. Offline English dictionary use an oracle database to save the word information, and then parse out the word information to display in the mobile phone interface by Http protocol, at the same time there have the functions that is used to increase, delete, update word information. Of course, we can add unfamiliar word to the note of word in order to review at any time.Keywords: Android; oracle database; SQLite database; English words目录第1章绪论 (1)第2章系统需求分析 (3)2.1 软件的功能要求 (3)2.2 需求分析 (3)2.3 功能需求(用例图分析) (4)2.3.1 基本功能需求例图 (4)2.3.2 离线词典的例图 (6)2.3.3 在线查询用例图 (7)2.3.4 添加到单词本的用例图 (8)2.4 系统结构图和流程图 (10)2.5 系统界面需求 (14)2.6 运行环境 (15)2.6.1 关键技术 (15)2.6.2 运行环境 (16)第3章数据库的设计 (16)3.1 在线词典的服务器端的数据库设计 (16)3.1.1 数据库中数据表的设计 (16)3.1.2 在线词典的客户端的数据库设计 (17)3.1.3 离线时的数据库的设计 (18)3.1.4 软件数据模型 (19)3.2 连接数据库 (20)3.2.1 数据库的创建 (20)3.2.2.数据库的操作 (20)3.2.3 数据的查看 (21)3.2.4 服务器和客户端的连接 (21)第4章环境的搭建 (23)4.1关于Android的简单介绍 (23)4.1.1 Android环境的搭建 (23)4.1.2Android命令行的使用 (24)4.1.3 Android工程的简单介绍 (25)4.2 Java Web环境的搭建 (28)第5章具体功能模块的设计 (31)5.1 查询模块的设计 (32)5.1.1 离线查询 (32)5.1.2 在线查询 (33)5.2 添加单词模块 (35)5.3 删除单词模块 (36)5.4 修改单词模块 (37)5.5 菜单模块的实现 (38)5.6 生词本模块的设计 (42)第6章系统测试与性能分析 (44)6.1测试 (44)6.2 性能测试及分析 (45)总结 (46)参考文献 (47)附录一:英文翻译原文 (48)附录二:英文翻译译文 (56)附录三:程序清单 (63)致谢 (70)第1章绪论如今,英语在人们的工作、学习中显得越来越重要,而手机词典软件的出现无疑带来了极大的便利,遇到遇到生疏的英语单词,现在拿起手机就能轻松解决。
基于JAVA的词典软件项目报告目录一、项目概述 (2)1.1 项目背景 (2)1.2 项目目标 (3)1.3 项目内容 (4)二、项目需求分析 (5)2.1 功能需求 (6)2.2 性能需求 (7)2.3 用户界面需求 (9)三、项目设计 (10)3.1 系统架构设计 (11)3.2 数据库设计 (13)3.3 前端界面设计 (14)3.4 后端逻辑设计 (15)四、项目开发 (17)4.1 开发环境搭建 (19)4.2 核心功能实现 (20)4.3 系统测试 (21)五、项目部署与维护 (22)5.1 服务器部署 (23)5.2 数据备份与恢复 (25)5.3 日常维护与升级 (26)六、项目成果与评估 (27)6.1 项目成果展示 (29)6.2 项目性能评估 (30)6.3 用户反馈与总结 (31)七、项目风险与展望 (32)7.1 项目风险分析 (33)7.2 应对策略 (34)7.3 未来展望 (35)一、项目概述随着信息技术的飞速发展,词典软件在人们日常生活和工作中扮演着越来越重要的角色。
为了满足广大用户对词典查询的便捷性和实用性需求,我们计划开发一款基于Java的词典软件项目。
本项目旨在实现一个功能完善、操作简便、性能优越的词典软件,为用户提供快速、准确的单词查询服务。
本词典软件将采用先进的Java技术,结合现代搜索引擎技术,实现对大量单词的高效检索。
我们将充分考虑用户在使用过程中的体验,优化界面设计,提高操作便捷性。
我们还计划整合多国语种资源,为用户提供更全面的词典查询服务。
本项目的成功实施将为广大用户带来极大的便利,提高学习和工作效率。
也将推动我国词典软件开发水平的提升,为我国信息技术产业的发展做出贡献。
1.1 项目背景随着信息技术的飞速发展,词典作为语言学习和交流的重要工具,在人们的日常生活中扮演着越来越重要的角色。
传统的纸质词典查询方式不仅效率低下,而且不便携带。
开发一款基于现代计算机技术的电子词典软件,为用户提供便捷、高效的词典查询体验,已经成为语言学界和计算机科学界的共同追求。
java课程设计英汉词典一、课程目标知识目标:1. 理解Java面向对象编程的基本概念,掌握类和对象的使用;2. 学会使用Java集合框架存储和管理数据;3. 掌握字符串处理和文件操作相关方法;4. 了解英汉词典的基本结构。
技能目标:1. 能够运用所学知识设计和编写一个简单的英汉词典程序;2. 掌握使用Java编写用户界面,实现与用户的交互;3. 学会使用集合框架对数据进行增删改查操作;4. 能够通过查找、替换等方法对词典数据进行处理。
情感态度价值观目标:1. 培养学生的团队协作意识和沟通能力,提高合作解决问题的能力;2. 激发学生对编程的兴趣,培养自主学习、探究问题的习惯;3. 引导学生关注中英文语言学习,提高跨文化交际能力。
课程性质分析:本课程为Java课程设计,旨在让学生通过实际项目实践,掌握Java编程的基本知识和技能。
英汉词典项目贴近实际生活,能够激发学生的学习兴趣。
学生特点分析:学生已具备一定的Java基础,了解面向对象编程的基本概念,但实际应用能力有待提高。
学生对编程项目具有较强的兴趣和好奇心。
教学要求:1. 结合课本知识,注重实践操作,提高学生的动手能力;2. 引导学生主动思考,培养解决问题的能力;3. 关注学生的情感态度,激发学习兴趣,提高学习积极性。
二、教学内容1. 面向对象编程基础:- 类与对象的概念- 封装、继承与多态2. Java集合框架:- List、Set、Map接口及其实现类- 集合的增删改查操作3. 字符串处理:- 字符串常用方法- 正则表达式4. 文件操作:- 文件读写- 文件路径处理5. 英汉词典项目设计与实现:- 界面设计- 功能模块划分- 数据存储与检索- 词典数据结构设计6. 教学进度安排:- 第1周:面向对象编程基础复习- 第2周:Java集合框架学习与应用- 第3周:字符串处理与文件操作- 第4周:英汉词典项目需求分析、功能设计- 第5周:英汉词典项目开发与调试- 第6周:项目展示与总结教材关联性:教学内容与教材紧密相关,涉及教材中面向对象编程、集合框架、字符串处理和文件操作等章节。
电子词典设计与开发毕业设计随着科技的快速发展,电子词典已成为学生们学习语言的重要工具。
它不仅方便携带,而且可以随时随地帮助解决词汇问题。
然而,随着用户需求的不断增长和技术的发展,电子词典的设计与开发也需要不断地创新和改进。
本文旨在探讨电子词典设计与开发毕业设计的意义、背景、目的、相关文献综述与领域现状、问题以及方法。
电子词典的设计与开发具有重要的现实意义。
随着全球化的进程,语言学习变得越来越重要。
电子词典作为语言学习的辅助工具,可以为学习者提供方便快捷的词汇查询服务。
电子词典具有体积小、存储量大、功能丰富等优点,相较于传统纸质词典更具优势。
随着人工智能技术的发展,电子词典的设计与开发也在不断进步,为学习者提供了更好的学习体验。
本次毕业设计的目的是设计并开发一款功能完善、操作简便、符合用户需求的电子词典。
具体目标包括:实现词汇查询功能,支持多种语言之间的互查及在线翻译;提供例句、解释、词性分类等信息,帮助学习者更好地理解词汇;增加词汇记忆功能,通过艾宾浩斯遗忘曲线等方法辅助用户记忆词汇;优化用户界面,提高操作体验,使得用户能够便捷地使用电子词典;实现词汇量的评估功能,为用户提供学习进度的参考。
在文献综述方面,我们调查了近年来国内外关于电子词典设计与开发的研究成果。
目前,市面上的电子词典种类繁多,但大多数产品仍存在一些问题,如查询速度慢、操作繁琐、词汇量有限等。
现有的电子词典大多只查询功能,而忽略了用户的学习需求和用户体验。
在领域现状方面,人工智能技术的发展为电子词典的设计与开发带来了新的机遇。
机器翻译、自然语言处理等技术使得电子词典可以实现多种语言之间的互查及在线翻译功能。
随着移动互联网的普及,移动端电子词典的市场份额也在逐渐增大。
然而,目前市场上的移动端电子词典大多仍存在操作繁琐、功能单一等问题。
本次毕业设计将采用以下研究方法和技术路线:文献调研:通过查阅相关文献和资料,了解电子词典的设计与开发技术及现有产品的优缺点;用户调研:通过问卷调查、访谈等方式了解用户对电子词典的需求和期望;系统分析:对现有电子词典的功能、性能等方面进行分析和评估;系统设计:根据用户需求和系统分析结果,进行电子词典的系统设计;系统实现:采用Java、Android等技术实现电子词典的功能;系统测试:对电子词典进行测试和优化,确保系统的稳定性和性能;用户反馈:邀请部分用户对电子词典进行试用并收集反馈意见,以便进一步优化产品。
java英汉双语词典课程设计一、课程目标知识目标:1. 学生能够掌握Java编程语言中常用的英语词汇及其汉语对应意义,涉及数据类型、运算符、控制结构等基础语法知识。
2. 学生能够理解并运用至少20个常用的编程专业英语词汇,如“variable (变量)”,“method(方法)”,“loop(循环)”等。
3. 学生能够结合已学知识,阅读并理解简单的英文Java代码。
技能目标:1. 学生能够使用英汉双语词典自主查找并学习Java编程相关英语词汇,提高自学能力。
2. 学生能够通过编写简单的英文注释,提高代码的可读性和团队协作能力。
3. 学生能够在编程实践中,运用所学英语词汇,实现基础程序功能。
情感态度价值观目标:1. 学生通过学习Java英汉双语词典课程,培养对编程英语的兴趣,提高学习积极性。
2. 学生在课程学习中,能够体会英语在编程学习中的重要性,树立国际化的学习观念。
3. 学生在小组合作学习过程中,培养团队协作精神,增强沟通与表达能力。
4. 学生通过课程学习,养成遇到问题主动查找资料、解决问题的良好习惯,提高自主学习和实践能力。
二、教学内容1. Java基础英语词汇学习:包括数据类型(int、double、char等)、运算符(+、-、*、/等)、控制结构(if、else、for、while等)的相关英语表达。
- 教材章节:第一章 Java概述,第二章 基本数据类型与运算符,第三章 控制结构。
2. 编程专业英语词汇学习:涵盖至少20个常用编程专业词汇,如“variable (变量)”,“method(方法)”,“parameter(参数)”等。
- 教材章节:附录A 词汇表。
3. 英文注释与代码阅读:通过实际案例,教授如何为代码添加英文注释,提高代码可读性,并进行简单英文代码的阅读理解。
- 教材章节:第四章 方法与数组,第五章 面向对象编程。
4. 编程实践:结合所学英语词汇,编写简单的Java程序,实现基础功能。
英汉小词典一.实验目的:编写窗体应用程序,实现一个英汉词典的查询添加功能。
该程序能够根据输入的英语单词查找该单词的汉语解释,若没有就提示错误信息;能够实现基本的添加英语单词与该单词汉语翻译的功能。
二.具体实现过程:编写相关类,实现添加查询单词功能,并且使用数据库对单词进行存储访问,主要要实现的类如下:1.编写窗体DictionaryFrm类,添加相应的标签,按钮,选项卡等组件实现词典主窗口界面。
2.使用Oracle数据库建一张Dictionary表,对单词进行添加存储和查询操作。
3.编写一个GetConn类主要用于实现与Oracle数据库的连接操作。
4.编写一个Dictionary类,用于设置单词的ID,English,Chinese这3个字段,实现对单词的各字段的获取和修改;然后编写InsertDictionary类和FindDictionary类实现对单词的添加和查询操作。
编写UpdateDictionary类实现对已有单词的修改操作。
三.相关类的作用与实现的功能:单词的存储用到Oracle数据库的表,表中包含3个属性字段,程序运行前已在数据库中建好了表Dictionary。
1.Dictionary类,包含3个成员变量ID,English,Chinese。
主要用于设置字典中对应单词的ID号,英文解释,中文翻译等。
为了不允许外部直接访问和修改该对象中的属性,类中实现了对每个成员变量值的获取和设置的方法,即实现对该类对象的封装。
2.DictionaryFrm类,主要实现英汉字典操作界面,通过选项卡设置2个选项,实现添加单词和查询单词两个功能,在两个选项中JLabel,JButton等相关组件,对按钮添加监听器,实现相关操作。
3.GetConn类,主要用于实现java与Oracle数据库的连接,以便添加,修改与查询单词的过程中,实现单词在数据库中的存储与更新操作。
4. InsertDictionary类和FindDictionary类,UpdateDictionary类,这三个类调用GetConn类实现与Oracle数据库的连接后,实现添加,查询,修改单词的相关操作,并将单词的添加修改保存到数据库中。
两周的课程设计实训我做的是用Java基本程序编写一个简单的电子词典,该程序是一个图形界面连接数据库的英汉字典,其界面主要采用了awt包,程序实现了电子词典的基本功能有:查询、修改,添加词汇并保存修改,添加后的词汇,通过自己的实际动手操作,进一步加深了对Java的理解,电子词典的完成我还了解了市场的需求,培养了自己的学习兴趣。
关键字:Java图形界面,Access数据库,actionPerformed()接口方法,ActionEvent事件目录1需求分析 (4)2. 概要设计 (4)2.1设计思路 (4)2.1.1 系统总体功能模块图 (4)3. 详细设计 (5)3.1 主界面功能 (5)3.2 英译汉功能 (5)3.3 汉译英功能 (6)3.4数据库创建与连接 (6)4. 主要程序源代码 (7)5.调试程序 (13)6.结论 (13)7.参考文献 (14)1需求分析我们的课题是电子词典功能的实现,电子词典作为一种学习工具,有着不可估量的市场前景。
作为一名学生,我们在学习英语的时候会经常碰到很多的生词,有时,为了读懂一篇文章,经常是读文章用一小时,但是其中却有半个小时都在翻阅英语字典。
所以我们小组为了解决这一问题,才将选材方向定位于电子词典的功能实现,主要的目的就是为同学们解决这一问题。
在做电子词典功能实现的时候,我们主要从以下几个方面入手,即:查询,添加,修改,在这几个功能模块上,我们首先提供了一个查询界面,即使用者需要输入要查询的关键字,点击确定按钮,屏幕上就会出现其对应的答案。
在做这个模块的时候,我们主要解决了JAVA与数据库的链接问题,进而实现其功能。
解决了同学们在学习英语过程中遇到的困难,满足了市场的需求。
2. 概要设计2.1设计思路本系统在单词查阅方面主要完成了英译汉功能;在系统性能方面主要完成了单词库的添加、修改、删除,退出功能等。
2.1.1 系统总体功能模块图图形界面的实现:考虑到简单、实用、高效等特点,就选择了AWT来完成实现,在选择组件上,文本编辑区就选用了TaxtArea,TextField,Button作为主要的部件,文本框上使用ActionEvent事件,文本区上实现TextEvent事件,实现接口方法用到了actionPerformeredf方法在设计类的时候,要实现三个系统性能功能,就用了三个类,一个主类和一个默认属性类作为程序的整体框架,所有的对象和方法都是在默认属性类中创建和实现的,以及为各组件注册事件监听程序也是在默认属性类中实现的。
主类完成对象的实例化及显示。
这们设计的优点是:条理清晰,容易理解,容易修改。
这样设计的缺点是:不利于共享类中的方法。
数据库的创建,用Access创建数据库,库的名称叫做english,表的名称也叫做english,.为了将图形界面与数据库建立连接首先要创建一个ODBC数据源。
数据库连接的建立包括两个步骤:首先要加载相应数据库的JDBC驱动程序;然后建立连接。
3. 详细设计3.1 主界面功能该模块的主要功能为:使用户可以在一个界面下调用各功能模块。
即放便用户使用又方便用户的学习,而且不但可以通过菜单栏调用各功能模块,还可以通过按钮调用,主界面主要由两个面版,四个按钮,一个文本框,一个文本区,一个标签和一个菜单栏组成。
在文本框中输入要查询的数据。
文本区中显示查询的结果。
主要方法包括:DataWindow()为构造方法,创建用户添加词汇界面;与actionPerformed()为接口方法,处理ActionEvent事件。
设计好的主界面去如图所示3.2 英译汉功能该模块的主要功能为:当用记遇到陌生的单词或记不清解释的单词时,用户可以通过本功能查找,还通过本模块完成单词的再一次记忆。
此功能模块主要是针对已经存在于单词库中的单词,通过编辑菜单中的英汉词典功能,在主界面的文本框中输入要查询的单词,单击查询按钮进行查询。
结果显示在主界面的文本区中。
3.3 汉译英功能该模块的主要功能为:当用户进行汉译英翻译时难难免遇到不会的词或记不请的记。
这时用记就可以通过本功能实现词汇的查找。
它不但可以查到想要查的词还可以找到和该词相关的单词。
3.4数据库创建与连接数据库表设计打开控制面板选择:“管理工具”——“数据源(ODBC)”——“用户DNS”——“添加”选择相应的数据库驱动Microsoft Access Driver (*.mdb),数据源的名称为english,然后选择数据库,确定。
建立JDBC—ODBC桥接器:Class.forName()方法的执行,将创建数据库驱动的实例并注册到驱动管理器。
在某种数据库的驱动程序加载后,就可以建立与该DBMS的连接了。
定义如下: Class.forName(”sun.jdbc.odbc.JdbcOdbcDriver”);创建数据库连接这个步骤中要使数据库驱动连接到相应的DBMS。
连接的建立通过使用DriverManager类中的static方法getConnection(),该方法的定义如下Con=DriverManager.getConnection(“jdbc:odbc:e nglish”,””,””);4. 主要程序源代码class DataWindow extends JFrame implements ActionListener//子类继承父类事件监听器作为接口{ JFrame topFrame;//声明窗口JDesktopPane desktop;FileDialog filedialog_save; //声明文件对话框JTextField englishtext;//声明一个文本框JTextArea chinesetext;// 声明一个文本区JButton b1,b2,b3,b4;//定义按钮JLabel label;//定义标签JMenuBar mbar;JMenu mfile,medit,mhelp;//菜单项JMenuItemedic,cdic,back_data,quit,addedit,modedit,deledit,hhelp,about;DataWindow()//方法的创建{super("英汉小词典");//子类继承父类的构造方法this.setBounds(250,250,600,400);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("英汉词典");cdic = new JMenuItem("汉英词典");back_data = new JMenuItem("备份词库");quit = new JMenuItem(" 退出");//文件菜单addedit = new JMenuItem("添加词汇");modedit = new JMenuItem("修改词汇");deledit = new JMenuItem("删除词汇");//编辑菜单mfile.add(edic);//将菜单项添加到菜单mfile.add(cdic);mfile.add(back_data);mfile.addSeparator();mfile.add(quit); //mfilemedit.add(addedit);medit.add(modedit);medit.add(deledit); //meditmhelp.add(hhelp);mhelp.add(about); //mhelpedic.addActionListener(this);//将edic作为事件监听器添加到当前窗口cdic.addActionListener(this);quit.addActionListener(this);addedit.addActionListener(this);modedit.addActionListener(this);deledit.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("添加");b3 = new JButton("修改");b4 = new JButton("刪除");JPanel p1 = new 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(p1,"North");//面板布局1的位置this.add(p2,"South");//面板布局2的位置this.add(new JScrollPane(chinesetext),"Center");//文本区在中心b1.addActionListener(this);//b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);englishtext.addActionListener(this);back_data.addActionListener(this);filedialog_save = 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); }//窗口的关闭});}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{try{ Listwords(); }catch(SQLException ee){ }}}else if(e.getSource()==b2||e.getSource()==addedit){AddWin add = new AddWin(); //AddWin是添加窗口的类}else if(e.getSource()==b3||e.getSource()==modedit){ModifyWin modi = new ModifyWin(); //ModifyWin是修改窗口的类}else if(e.getSource()==b4||e.getSource()==deledit){DelWin del = new DelWin(); //DelWin是删除窗口的类}}else if(e.getSource()==edic) //英汉{label.setText("输入要查询的英语单词:");b1.setVisible(true);b5.setVisible(true);}else if(e.getSource()==cdic) //汉英{label.setText("输入要查询的汉语意思:");b1.setVisible(true);b5.setVisible(true);}else if(e.getSource()==back_data) //备份{File fromfile = new File("english\\english.mdb");FileInputStream fis = null;filedialog_save.setVisible(true);try{fis = new FileInputStream(fromfile);int bytesRead; //定义变量来存储输入流中读取出来的文件byte[] buf = new byte[4*1024]; //4K bufferFile 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);}fos.flush();fos.close();fis.close();}catch(IOException e2){ }}else if(e.getSource()==quit) //退出{System.exit(0);}}public void Listwords() throws SQLException //实现查询功能{ String cname,ename;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){}//建立桥接器Connection Ex1Con =DriverManager.getConnection("jdbc:odbc:english","","");//("jdbc:odbcDriver={MicroSoft Access Driver(*.mdb)};DBQ=english\\english.mdb","","");//连接数据源Statement Ex1Stmt = Ex1Con.createStatement();//对象调用方法if(label.getText().equals("输入要查询的英语单词:")){ResultSet rs = Ex1Stmt.executeQuery("SELECT * FROM 表1");while( rs.next()){ename = rs.getString("单词");cname = rs.getString("解释");if(ename.equals(englishtext.getText())){chinesetext.append(cname+'\n');}}Ex1Con.close(); //关闭数据库if(chinesetext.getText().equals("")){JOptionPane.showMessageDialog(this,"查无此单词!","警告",JOptionPane.WARNING_MESSAGE);}}else if(label.getText().equals("输入要查询的汉语意思:")){ResultSet rs=Ex1Stmt.executeQuery("SELECT * FROM 表1 WHERE 解释 LIKE '%"+englishtext.getText()+"%'");while(rs.next()){ename = rs.getString("单词");cname = rs.getString("解释");chinesetext.append(ename+'\n');}Ex1Con.close(); //关闭数据库if(chinesetext.getText().equals("")){JOptionPane.showMessageDialog(this,"查无此单词!","警告",JOptionPane.WARNING_MESSAGE);}}} // end of Liststudent()}public class Dic{ public static void main(String args[]){ JFrame.setDefaultLookAndFeelDecorated(true);DataWindow window = new DataWindow();window.validate();// AddWin add = new AddWin();}public void add(){}}5.调试程序在程序调试中最大的问题就是数据库连接着一部分,由于对数据库的知识比较陌生,所以调试起来遇到了很多麻烦和问题,简单总结如下:(1)数据库的廉洁就分为驱动连接和桥连接,这里容易混淆,需要将其区分开来,建议用驱动加载更好一些。