电子词典java课程设计Word文件下载.docx

上传人:b****5 文档编号:17408488 上传时间:2022-12-01 格式:DOCX 页数:17 大小:143.33KB
下载 相关 举报
电子词典java课程设计Word文件下载.docx_第1页
第1页 / 共17页
电子词典java课程设计Word文件下载.docx_第2页
第2页 / 共17页
电子词典java课程设计Word文件下载.docx_第3页
第3页 / 共17页
电子词典java课程设计Word文件下载.docx_第4页
第4页 / 共17页
电子词典java课程设计Word文件下载.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

电子词典java课程设计Word文件下载.docx

《电子词典java课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《电子词典java课程设计Word文件下载.docx(17页珍藏版)》请在冰豆网上搜索。

电子词典java课程设计Word文件下载.docx

二、概要设计

1、英语词典设计要求

分析词典的主要功能,设计实现如下功能:

(1)实现程序GUI图形界面;

(2)实现与词典数据库的访问;

(3)实现文件的输入、输出;

(4)实现鼠标或键盘事件响应模块。

2、自定义类说明

(1)publicclassDic{}

 自定义主体main函数的类,用来调用各种类

(2)classDataWindowextendsJFrameimplementsActionListener{}

 自定义一个主窗体类,用来显示整个窗体。

  继承的父类:

JFrame类

实现的接口:

ActionListener

(3)classAddWin extends JFrameimplementsActionListener{}

  自定义一个添加窗口类,用于添加新的单词及其解释

   (4)DelWinextendsJFrameimplementsActionListener{}

   自定义一个删除窗口类,用于删除词库中所存在的单词及其解释

(5)ModifyWinextends JFrameimplements ActionListener{}

    自定义一个修改窗口类,用于修改词库中所存在的单词及其解释

  (6)class HelpFrame extendsJFrame {}

  自定义一个帮助窗口类,用不可编辑的文本域的窗体对该词典的功能做简要的说明

   3、界面设计思想

创建窗体,设计菜单。

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

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

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

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

4、方法定义说明

 (1)定义方法actionPerformed(),内用if语句实现按钮监听:

public void actionPerformed(ActionEvente)

  

(2)定义方法Listwords(),实现查询功能

publicvoid Listwords() throwsSQLException

(3)定义方法删除(),实现删除功能

publicvoid删除()throwsSQLException

  (4)定义方法添加(),实现添加功能

public void添加()throwsSQLException

(5)定义方法修改(),实现修改功能

publicvoid 修改() throwsSQLException

 5、数据库说明

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

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

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

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

加载驱动程序:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"

);

与数据库建立连接:

Stringurl="jdbc:

odbc:

Driver={MicroSoft AccessDriver (*.mdb)};

DBQ="

+application.getRealPath("

/Data/ReportDemo.mdb");

Connectionconn=DriverManager.getConnection(url,"

"

,""

);

创建JDBC Statement对象:

Statement stmtNew=conn.createStatement();

注意:

首先要配置数据源:

控制面版->

管理工具->数据源->

系统DSN->

添加->

选择Microsort AccessDrive(*.mdb)->

完成->

写个数据源名(随意)->

选择->找到你的access文件->

确定,接下来再进行你的操作。

三、详细设计

本系统是通过对类对象的引用,以及函数的调用实现类之间的连接的。

创建窗体,GUI(标签,文本框,按钮),用add()方法加入容器,进而进行布局,用addActionListener( )方法为按钮或者菜单条按钮注册事件监听者,通过监听者方法调用(事件源,处理代码)对按钮触发。

1、添加功能的实现:

 publicvoid添加()throwsSQLException{

    ﻩ Stringcname,ename;

   ﻩtry

{class.forName("

sun.jdbc.odbc.JdbcOdbcDriver");

ﻩﻩﻩ}catch(ClassNotFoundExceptione){}

ﻩ Con =DriverManager.getConnection("

jdbc:

Driver=

{MicroSoft AccessDriver(*.mdb)};

DBQ=english\\english.mdb"

,"

"");

 Stmt=Con.createStatement();

ﻩ ResultSetrs=Stmt.executeQuery("

SELECT*FROM表1"

);

ﻩ booleanboo=false;

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

ﻩ  {

ﻩﻩename=rs.getString("

单词"

ﻩﻩﻩcname=rs.getString("

解释"

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

ﻩﻩﻩ{

ﻩﻩﻩ JOptionPane.showMessageDialog(this,

此词汇已存在!

"

警告"

ﻩﻩ JOptionPane.WARNING_MESSAGE);

ﻩbreak;

}

ﻩ }

ﻩif(boo==false)

ﻩﻩ  {

Strings1="'

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

'"

s2="

'

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

 ﻩString temp="

INSERTINTO表1VALUES ("

+s1+"

+s2+"

)";

   Stmt.executeUpdate(temp);

ﻩﻩﻩJOptionPane.showMessageDialog(this,"

添加成功!

恭喜"

ﻩ  JOptionPane.WARNING_MESSAGE);

ﻩﻩdispose();

ﻩﻩ}

Con.close();

2、删除功能的实现:

public void删除()throwsSQLException{

 String cname,ename;

 try

{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"

ﻩ} catch(ClassNotFoundException e){}

ﻩﻩCon=DriverManager.getConnection

("jdbc:

odbc:

Driver={MicroSoft AccessDriver(*.mdb)};

DBQ=english\\english.mdb"

");

 Stmt=Con.createStatement();

ﻩ  ResultSetrs=Stmt.executeQuery("SELECT*FROM 表1");

ﻩ booleanboo=false;

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

{

ﻩename=rs.getString("

ﻩﻩﻩcname=rs.getString("

解释");

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

ﻩ{

Strings1="

+删除单词_文本

条.getText().trim()+"

'"

Stringtemp="

DELETEFROM 表1WHERE单词="

+s1;

Stmt.executeUpdate(temp);

JOptionPane.showMessageDialog(this,

"成功删除记录!

","

恭喜",

JOptionPane.WARNING_MESSAGE);

dispose();

break;

ﻩﻩ}

Con.close();

if(boo==false)

ﻩ{

JOptionPane.showMessageDialog(this,

"不存在此单词!

ﻩﻩ  JOptionPane.WARNING_MESSAGE);

ﻩ }

  }

3、修改功能的实现:

ﻩpublicvoid 修改()throwsSQLException{

ﻩString cname,ename;

ﻩtry

{Class.forName("

sun.jdbc.odbc.JdbcOdbcDriver"

ﻩ}catch(ClassNotFoundException e){}

Con=DriverManager.getConnection

("

jdbc:

odbc:

Driver={MicroSoftAccess Driver(*.mdb)};

DBQ=english\\english.mdb"

","");

Stmt=Con.createStatement();

ﻩResultSetrs=Stmt.executeQuery("

SELECT *FROM表1"

ﻩbooleanboo=false;

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

ﻩ{

ﻩename=rs.getString("单词"

ﻩﻩcname=rs.getString("

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

ﻩﻩﻩString s1="

+修改英语单词_文本

条.getText().trim()+"

,s2="

+修改汉语解释_

文本条.getText().trim()+"'

;

ﻩ Stringtemp="

UPDATE表1SET解释="

WHERE单词= "

+s1;

Stmt.executeUpdate(temp);

JOptionPane.showMessageDialog(this,

"记录修改成功!

ﻩﻩﻩJOptionPane.WARNING_MESSAGE);

ﻩ dispose();

ﻩﻩbreak;

ﻩ}

ﻩﻩ }

ﻩﻩCon.close();

ﻩﻩif(boo==false)

ﻩﻩ{

ﻩﻩﻩJOptionPane.showMessageDialog(this,

不存在此单词!

ﻩﻩJOptionPane.WARNING_MESSAGE);

ﻩ}}

4、实现按钮监听的实现:

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(SQLExceptionee){}

ﻩ  }

ﻩ}

ﻩﻩelseif(e.getSource()==b2||e.getSource()==addedit)

ﻩﻩ{AddWinadd =new AddWin();

 } //AddWin是添加窗口的类

ﻩelseif(e.getSource()==b3||e.getSource()==modedit)

{ ModifyWinmodi = newModifyWin();

//ModifyWin是修改窗口的类

ﻩelseif(e.getSource()==b4||e.getSource()==deledit)

{ DelWin del=newDelWin();

}//DelWin是删除窗口的类

ﻩﻩelseif(e.getSource()==edic)//英汉

ﻩlabel.setText("

输入要查询的英语单词:

ﻩﻩb1.setVisible(true);

ﻩ}

elseif(e.getSource()==cdic)//汉英

label.setText("

输入要查询的汉语意思:

ﻩﻩﻩb1.setVisible(true);

ﻩelse if(e.getSource()==back_data)//备份

ﻩ{

ﻩﻩ =newFile("

english\\english.mdb"

 fis=null;

ﻩ(true);

try{

ﻩfis= new(fromfile);

ﻩﻩﻩﻩintbytesRead;

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

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

 //4Kbuffer

 =new

(),

());

ﻩfos=new(tofile);

ﻩﻩwhile((bytesRead=fis.read(buf))!

=-1)

{fos.write(buf,0,bytesRead);

}

ﻩfos.flush();

fos.close();

fis.close();

ﻩ} catch(IOExceptione2){}

ﻩﻩ}ﻩ

elseif(e.getSource()==quit) //退出

ﻩﻩ{ System.exit(0);

}

ﻩelseif(e.getSource()==about) //关于

ﻩﻩfinal String AboutMsg ="

AElectricalDictionary\n\n"

ﻩ+"Anapplicationwrittentoshowoffthefunctionof

dictionary.\n\n"

ﻩﻩﻩ+"

JAVA课程设计 杨汝洁\n\n"

ﻩ+"Copyright(c)2008byEdith.All rights Reserved."

ﻩJOptionPane.showMessageDialog(topFrame,AboutMsg);

ﻩelseif(e.getSource()==hhelp) //帮助

ﻩﻩ{

ﻩﻩHelpFramehelp= newHelpFrame();

ﻩhelp.setVisible(true);

ﻩ}}

5、实现查询功能的实现

publicvoidListwords()throwsSQLException //

{

ﻩStringcname,ename;

ﻩtry{Class.forName("

sun.jdbc.odbc.JdbcOdbcDriver"

}catch(ClassNotFoundExceptione){}

ﻩStringurl="jdbc:

odbc:

English"

ﻩ//建立桥接器

ConnectionEx1Con=DriverManager.getConnection

ﻩ    ("

jdbc:

Driver={MicroSoftAccessDriver

   (*.mdb)};

DBQ=english\\english.mdb"

");

StatementEx1Stmt=Ex1Con.createStatement();

if(label.getText().equals("输入要查询的英语单词:

ﻩ   ResultSetrs= 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);

ﻩﻩﻩ}

elseif(label.getText().equals("

ﻩﻩResultSetrs=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);

ﻩﻩ}}

}

四、软件测试

经过编译、执行后可看到运行界面如图4.1所示

图4.1

此时有三全菜单选择:

文件、编辑、帮助

1、文件菜单:

它包含四个子菜单:

英汉词典、汉英词典、备份词库及退出。

打开该词典时默认进入的是英汉词典。

如图4.2所示:

图4.2

(1)英汉词典:

在文本框中输入要查询的英文单词,单击“查询”,英文单词对应的中文解释及其词性便会出现在文件对话框中,如图4.3所示:

图4.3

如果所查单词不存在于词库中,则会弹出“警告”,说明“查无此词”,如图4.4所示;

如果是没有输入直接点击“查询”,则会弹出“警告”,说明“查询对象不能为空”,如图4.5所示:

  图4.4     图4.5

(2)汉英词典:

在在文本框中输入要查询的汉语意思,单击“查询”,对应的英文单词便会出现在文件对话框中,如图4.6所示:

  

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

当前位置:首页 > 初中教育 > 中考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1