JAVA电子词典互译Word格式文档下载.docx

上传人:b****3 文档编号:7885501 上传时间:2023-05-09 格式:DOCX 页数:24 大小:252.97KB
下载 相关 举报
JAVA电子词典互译Word格式文档下载.docx_第1页
第1页 / 共24页
JAVA电子词典互译Word格式文档下载.docx_第2页
第2页 / 共24页
JAVA电子词典互译Word格式文档下载.docx_第3页
第3页 / 共24页
JAVA电子词典互译Word格式文档下载.docx_第4页
第4页 / 共24页
JAVA电子词典互译Word格式文档下载.docx_第5页
第5页 / 共24页
JAVA电子词典互译Word格式文档下载.docx_第6页
第6页 / 共24页
JAVA电子词典互译Word格式文档下载.docx_第7页
第7页 / 共24页
JAVA电子词典互译Word格式文档下载.docx_第8页
第8页 / 共24页
JAVA电子词典互译Word格式文档下载.docx_第9页
第9页 / 共24页
JAVA电子词典互译Word格式文档下载.docx_第10页
第10页 / 共24页
JAVA电子词典互译Word格式文档下载.docx_第11页
第11页 / 共24页
JAVA电子词典互译Word格式文档下载.docx_第12页
第12页 / 共24页
JAVA电子词典互译Word格式文档下载.docx_第13页
第13页 / 共24页
JAVA电子词典互译Word格式文档下载.docx_第14页
第14页 / 共24页
JAVA电子词典互译Word格式文档下载.docx_第15页
第15页 / 共24页
JAVA电子词典互译Word格式文档下载.docx_第16页
第16页 / 共24页
JAVA电子词典互译Word格式文档下载.docx_第17页
第17页 / 共24页
JAVA电子词典互译Word格式文档下载.docx_第18页
第18页 / 共24页
JAVA电子词典互译Word格式文档下载.docx_第19页
第19页 / 共24页
JAVA电子词典互译Word格式文档下载.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

JAVA电子词典互译Word格式文档下载.docx

《JAVA电子词典互译Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《JAVA电子词典互译Word格式文档下载.docx(24页珍藏版)》请在冰点文库上搜索。

JAVA电子词典互译Word格式文档下载.docx

我们可以将现有的词库做一份备份文件存入另一空间,以备文件丢失时使用。

词汇的添加功能:

用户可以添加词库内没有的单词及其解释。

添加成功后该单词将在次库内保存,以便下次查询。

词汇的修改功能;

用户可以实现对词库中已有单词及其解释的修改。

修改后的结果将保存在词库中。

词汇的删除功能;

用户可自行删除词库中已有的单词,同时次单词的解释也将被一同删除。

其他功能:

此外,系统还具有帮助和关于等功能,用来辅助用户更方便简洁的使用电子词典。

2.2开发环境分析

系统需求分析:

本系统是一个采用MicrosoftAccess作为数据库,用JAVA作为开发工具的英汉电子词典,内有英汉词典、汉英词典和备份词库。

它不仅可实现英译汉、汉译英的基本翻译功能,还可以让用户根据自己的需要添加、修改、删除词库,形成自己的词库。

(1)硬件环境

Cpu:

Intel(R)Core(TM)2DuoCpup74502.13GHz

内存:

2G硬盘空间:

250G

(2)软件环境

32位XP操作系统。

JDK和Jcreator软件环境。

三、系统设计

3.1系统总体设计

电子英汉词典系统包括三个大方面:

文件,编辑,其他。

文件菜单中包括英译汉,汉译英备份词库。

这也是电子词典的最主要功能。

编辑菜单中包括添加词汇,修改词汇,删除词汇功能。

其他菜单中包括帮助和关于。

系统总体设计图如下:

程序共有五个子函数和一个主函数。

(1)search是查找函数,用户通过系统提示输入要查找的单词,只要单词库中含有此单词便能找到相应的中文或英文解释,这个查找函数使用的是从头到尾的线性查找法,虽然查找效率在数据很大时候是无法容忍的,但因为这里涉及的数据量很小,使用线性查找对系统性能上没有很大影响。

(2)add是增加函数,用户可以通过此函数来增加单词库单词的数量

(3)modify是修改函数,程序提示用户输入要修改的单词,使用线性查找的方法找到相应的单词。

如果找到,则提示输入新的单词及其解释。

(4)delete是删除函数,程序提示用户输入要删除的单词,使用线性查找的方法找到相应的单词,如果找到,提示用户确认删除,在得到确认后即删除这个单词的记录。

(5)主程序通过无限循环来接收输入的命令,并且根据命令调用相应的函数处理。

3.2功能模块设计

(1)英译汉功能模块说明:

可以实现对英文单词的查询功能。

用户文本框中输入要查询的英文单词。

若该单词存在于词库中,则会在文件对话框中显示其词性及中文翻译;

若该单词没有存在于词库中,则会弹出警告,说明查无此词。

(2)汉译英功能模块说明:

可以实现对中文单词的查询功能。

用户文本框中输入要查询的中文单词。

若该单词存在于词库中,则会在文件对话框中显示其一个或多个对应的英文单词;

(3)备份词库功能模块说明:

可以实现对现有词库的备份,可将当前词库存入用户所设置的任意位置。

(4)添加词汇功能模块说明:

可以实现对词库的添加。

用户可自行输入所添加的单词及其解释,若添加的是词库中没有的单词,系统在添加成功后提示添加成功。

若添加的是词库中已有的单词,系统会弹出警告,说明此词汇已存在。

(5)修改词汇功能模块:

可以实现对词库中已有单词的修改。

用户可自行修改词库中的单词及其解释。

若输入的单词不存在于词库中,系统会弹出警告,说明不存在此单词。

(6)删除词汇功能模块:

可以删除词库中已有的单词。

用户可自行删除词库中已有的单词,再删除此单词的同时,其解释也会随之被删除,如输入的单词不存在于词库中,系统用会弹出警告,说明不存在此单词。

(7)其他功能模块:

在其他中有帮助和关于两项。

帮助中是有关于词典的功能说明,关于中可显示版本信息。

3.3类的设计

主要类设计:

1.Loading类

Loading类主要是要实现登陆界面和按钮监视器执行动作的事件,和数据库的连接。

方法

功能

Loading()

安排登陆界面布局

LianJie()

连接数据库

Chaxun()

执行登陆按钮的动作事件

DengLiPan()

判断文本框是否为空

2.Register类

Register类主要是实现注册界面和按钮监视器执行动作的事件,和数据库的连接。

Register()

安排注册界面布局

执行确定按钮的动作事件

3.Kellu类

Kellu类为窗口主界面类,包括菜单栏,工具栏,显示栏,添加监视器执行动作的事件。

Kehu()

安排界面布局,设置菜单项和工具按钮

actionPerformed()

执行按钮的动作事件

valueChanged()

下拉列表的监听事件

4.ChaXun类

ChaXun类细腻那两个构造方法,分别是实现英汉,汉英查询功能。

JingQunEnglishCha()

英译汉的查询

JingQunChineseCha()

汉译英的查询

5.Add类

Add类实现单词的添加功能

Add()

设置“添加”窗口界面

AddCha()

实现和数据库的连接

6.Update类

Update类,功能通过单击主窗口界面的更新按钮弹出更新小窗口,输入更新的单词,对相应的解释进行更新。

7.delect类

delect类,功能通过单击主窗口界面的删除按钮弹出删除小窗口,输入删除的单词进行删除。

delect()

设置“删除”窗口界面

delectcha()

8.help类

hele类,功能通过单击主窗口界面的帮助菜单下的帮助选项又弹出帮助窗口,通过网页显示单词的想过说明,通过单击页面上的超来显示另一网页。

方法

Help()

设置帮助窗口界面

Hyperlinkupdate()

显示新的URL资源

9.Guanyu类

Guanyu类功能通过单击主窗口界面的帮助菜单下的关于弹出关于窗口,显示词典的使用说明。

方法

功能

Guanyu()

设置关于窗口界面

界面设计思想

创建窗体,设计菜单。

定义菜单条JMenumfile(文件)、medit(编辑)、mhelp(帮助),菜单子项JMenuItemedic(英汉词典)、cdic(汉英词典)、back_data(备份词库)、quit(退出)、addedit(添加词汇)、modedi(修改词汇)、deledit(删除词汇)、hhelp(帮助)、about(关于)。

通过add()方法将菜单子项添加到菜单中,并注册监听者。

定义一个文件对话框filedialog_save,并为之增加适配器。

自定义一个面板,实现GUI元素的布局。

3.4数据库设计

Java数据库连接(JDBC)由一组用Java编程语言编写的类和接口组成。

JDBC为工具/数据库开发人员提供了一个标准的API,使他们能够用纯JavaAPI来编写数据库应用程序。

然而各个开发商的接口并不完全相同,所以开发环境的变化会带来一定的配置变化。

本系统采用的是Access数据库的连接方式。

英译汉词汇表

字段名

字段类型

长度

备注

yingwudanci

char

30

可为空

yinbiao

10

cixing

jieshi

50

各功能模块E-R图如下:

(1)文件模块子E-R图

文件模块中主要目的就是要完成英汉互译功能。

其中包括英译汉功能模块,汉译英模块功能,备份词库模块功能

(2)编辑模块子E-R图

编辑模块的主要目的就是要进行单词的添加修改与删除功能。

(3)其他模块子E-R图

其它模块的主要目的就是在用户遇到问题时,在其它中有“帮助”与“关于”两项,“帮助”中有关于词典的功能说明,“关于”可显示版本信息。

四、程序实现

4.1程序流程图

分析电子词典的总体情况,划分系统边界,识别系统的数据来源和去处,确定外部实体,得出系统的顶层数据流程图;

然后划分出几个主要的信息管理功能,本系统的主要数据的工作流包括以下几个方面:

英汉词典,汉英词典,备份词库,添加词汇,修改词汇,帮助。

明确各功能之间的联系,绘制出数据流程图,如下图所示:

4.2关键算法与技术实现

菜单窗口

classDataWindowextendsJFrameimplementsActionListener

try{

fis=newFileInputStream(fromfile);

intbytesRead;

//定义变量来存储输入流中读取出来的文件

byte[]buf=newbyte[4*1024];

//4Kbuffer

Filetofile=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){}

publicvoidListwords()throwsSQLException//实现查询功能

Stringame,ename;

Class.forName("

sun.jdbc.odbc.JdbcOdbcDriver"

);

catch(ClassNotFoundExceptione){}

//建立桥接器

ConnectionEx1Con=DriverManager.getConnection("

jdbc:

odbc:

03"

"

"

StatementEx1Stmt=Ex1Con.createStatement();

if(label.getText().equals("

输入要查询的英语单词:

))

ResultSetrs=Ex1Stmt.executeQuery("

SELECT*FROM表1"

while(rs.next())

ename=rs.getString("

单词"

ame=rs.getString("

解释"

if(ename.equals(englishtext.getText()))

chinesetext.append(ame+'

\n'

publicclassDic

publicstaticvoidmain(Stringargs[])

{

JFrame.setDefaultLookAndFeelDecorated(true);

DataWindowwindow=newDataWindow();

window.validate();

//AddWinadd=newAddWin();

publicvoidadd()

单词的添加

publicclassAddWinextendsJFrameimplementsActionListener{

JTextField添加汉语解释_文本条,添加英语单词_文本条;

uttonaddbtn,cancelbtn;

ConnectionCon=null;

StatementStmt=null;

publicvoidactionPerformed(ActionEvente)

{

if(e.getSource()==addbtn)

if(添加英语单词_文本条.getText().equals("

)||

添加汉语解释_文本条.getText().equals("

JOptionPane.showMessageDialog(this,"

添加的单词或解释不能为空!

警告"

JOptionPane.WARNING_MESSAGE);

}

//判断输入框不能为空

else{

添加();

catch(SQLExceptionee){}

}

elseif(e.getSource()==cancelbtn)

dispose();

while((boo=rs.next())==true)

ename=rs.getString("

ame=rs.getString("

if(ename.equals(添加英语单词_文本条.getText()))

JOptionPane.showMessageDialog(this,"

此词汇已存在!

JOptionPane.WARNING_MESSAGE);

break;

if(boo==false)

Strings1="

'

+添加英语单词_文本条.getText().trim()+"

s2="

+添加汉语解释_文本条.getText().trim()+"

;

Stringtemp="

INSERTINTO表1VALUES("

+s1+"

+s2+"

)"

Stmt.executeUpdate(temp);

添加成功!

恭喜"

Con.close();

单词的删除

classDelWinextendsJFrameimplementsActionListener{

JTextField删除单词_文本条;

uttondelbtn,cancelbtn;

ConnectionCon=null;

StatementStmt=null;

publicvoidactionPerformed(ActionEvente)

if(e.getSource()==delbtn)

if(删除单词_文本条.getText().equals("

删除的单词不能为空!

else

删除();

catch(SQLExceptionee){}

}

elseif(e.getSource()==cancelbtn)

if(ename.equals(删除单词_文本条.getText()))

+删除单词_文本条.getText().trim()+"

DELETEFROM表1WHERE单词="

+s1;

成功删除记录!

单词的修改

classModifyWinextendsJFrameimplementsActionListener

JTextField修改英语单词_文本条,修改汉语解释_文本条;

uttonmodifybtn,cancelbtn;

ConnectionCon=null;

StatementStmt=null;

if(e.getSource()==modifybtn)

if(修改英语单词_文本条.getText().equals("

修改汉语解释_文本条.getText().equals("

修改的单词或解释不能为空!

修改();

if(ename.equals(修改英语单词_文本条.getText()))

+修改英语单词_文本条.getText().trim()+"

+修改汉语解释_文本条.getText().trim()+"

Stringtemp="

UPDATE表1SET解释="

WHERE单词="

记录修改成功!

帮助

publicclassHelpFrameextendsJFrame{

publicHelpFrame(){

super("

Help"

setBounds(120,50,275,260);

HtmlPanehtml=newHtmlPane();

setContentPane(html);

publicstaticvoidmain(String[]args)

HelpFramehelp=newHelpFrame();

help.setVisible(true);

System.out.println("

HelloWorld!

classHtmlPaneextendsJScrollPaneimplementsHyperlinkListener{

JEditorPanehtml;

publicvoidrun(){

if(url==null){

html.setCursor(cursor);

Containerparent=html.getParent();

parent.repaint();

}else{

Documentdoc=html.getDocument();

try{

html.setPage(url);

}catch(IOExceptionioe){

html.setDocument(doc);

getToolkit().beep();

}finally{

url=null;

SwingUtilities.invokeLater(this);

4.3类与数据结构实现

本系统采用的是Access数据库的连接方式,Access数据库使用ODBC直连方式如下:

加载驱动程序:

);

与数据库建立连接:

Stringurl="

Driver={MicroSoftAccessDriver(*.mdb)};

DBQ="

+application.getRealPath("

/Data/ReportDemo.mdb"

Connectionconn=DriverManager.getConnection(url,"

创建JDBCStatement对象:

StatementstmtNew=conn.createStatement();

注意:

首先要配置数据源:

控制面版->

管理工具->

数据源->

系统DSN->

添加->

选择MicrosortAccessDriv

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2