版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java语言程序设计课程综合性实验报告项 目 名 称: 中英文电子词典 班 级: 小 组 成 员 指 导 教 师 : 总体评价:评定项目ABCD总评界面美观,布局合理操作熟练解析完整程序结构合理报告规范目 录一、 功能模块图(1)汉译英功能模块说明:可以实现英文单词对中文词汇的查询功能。当用户输入一个单词,用户可以单击查询按钮,显示这个单词的中文解释,解释出现在文本区。(2)英译汉功能模块说明:实现将中文词汇翻译成英语。在查询栏中输入中文,点击查询,便出现它的英文解释。(3)词库的备份模块:此模块可将已有模块备份,保证数据的安全性。(4)词库的更新模块:此模块有增、删、改等功能。可以根据自己需
2、要,为词库添加相应的英文单词和汉语解释,或者对已有单词的词义进行补充、修改或删除。(5)帮助功能模块:此模块添加了一些使用该软件的方法,当用户在使用时遇到不清楚的问题时,可以点帮助文档,根据提示进行操作。二、 程序运行主界面设计的电子词典,词典主要支持用户查询需求,实现英汉互译的功能,支持用户自定义词库,能够使用户对词库进行操作,以便用户获得更多资料。学会使用Java Swing和Java Awt 。系统功能流程图如下三、 主要代码分析(1) 系统中有6个类系统运行主类:Dic.java窗口主界面类:DataWindow添加单词类:AddWin.java修改单词类:ModifyWin.java
3、删除单词类:DelWin.java使用帮助类:HelpFrame.java(2) 系统运行主类Dic的方法Main( ):程序入口,建立窗体类DataWindow的对象。(3) 窗口主界面类DataWindow的方法 DataWindow( ):构造函数,安排界面布局,设置菜单项和工具按钮。 actionPerformed( ):执行按钮动作事件。 Listwords( );实现数据查询功能。(4) 添加单词类AddWin的方法 AddWin( ):构造函数,安排界面布局,设置监听按钮。 actionPerformed( ):执行按钮动作事件,调用添加( )方法。 添加( ):实现添加数据功能
4、。(5) 修改单词类ModifyWin的方法ModifyWin( ):构造函数,安排界面布局,设置监听按钮。actionPerformed( ):执行按钮动作事件,调用修改( )方法。修改( ):实现修改数据功能。(6) 删除单词类DelWin的方法 DelWin:构造函数,安排界面布局,设置监听按钮。 actionPerformed( ):执行按钮动作事件,调用删除( )方法。 删除( ):实现删除数据功能。功能模块设计(图一 图二 图三 图四) 图一 图二文件菜单:包括英汉词典、汉语词典、备份词库、退出功能。当单击英汉词典时,主界面出现输入查询英语单词;单击汉语词典,显示输入要查询的汉语意
5、思;单击退出,将退出操作;单击备份数据库,将对已有的数据进行备份,以便保证数据的安全 图三编辑菜单:包括添加词汇、修改词汇、删除词汇功能。可以扩充词库,按照自己的需要,完善词库,也可对原有的信息进行修改、补充等操作。 图四单击主界面的删除按钮,出现删除界面,在输入单词栏中填上要删除的单词,然后单击提交按钮。如果要退出,也可以点击取消,退出删除界面,回到主界面。 (1) 窗口功能说明窗口共有3个主要部分:菜单栏、工具条、显示栏。菜单栏:包括文件、编辑、帮助菜单。工具条:包括输入栏和查询、添加、修改、删除、发生按钮。显示栏:显示查询单词在词典中的所有解释。(2) 菜单说明 文件菜单:包括英汉词典、
6、汉语词典、备份词库、退出功能。编辑菜单:包括添加词汇、修改词汇、删除词汇功能。帮助菜单:关于该软件的一些信息。(3) 工具栏说明在向输入栏中输入英/中文单词,单击查询按钮,在显示栏中将会显示查找所对应词典中的所有解释。发音按钮:发音纯正标准。方便用户更好的记忆朗读单词。添加、修改、删除按钮:可由用户自行添加、修改和删除词库中的词汇。(4)显示栏说明显示用户所查询的词义。右击将出现复制、粘贴等命令。方便用复制到其它地方进行其它如打印、学习等操作。import java.awt.*;import .*;import java.sql.*;import java.awt.event.
7、*;import javax.swing.*;import java.io.*;import sun.audio.*;import javax.swing.JOptionPane;class DataWindow extends JFrame implements ActionListener JFrame topFrame; JDesktopPane desktop; FileDialog filedialog_save; JTextField englishtext; JTextArea chinesetext; JButton b1,b2,b3,b4,b5; JLabel label;
8、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); this.setVisible(true); getContentPane().add(new JScrollPane(chinesetext); mbar=new JMenuBar(); setJMenuBar(mbar); mbar.setOpaque
9、(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
10、=new JMenuItem(删除词汇);/编辑菜单 hhelp=new JMenuItem(帮助); about=new JMenuItem(关于.); /帮助菜单 mfile.add(edic); mfile.add(cdic); mfile.add(back_data); mfile.addSeparator(); mfile.add(quit); medit.add(addedit); medit.add(modedit); medit.add(deledit); mhelp.add(hhelp); mhelp.add(about); edic.addActionListener(th
11、is); 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); chine
12、setext=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(删除); b5=new JButton(); JPanel p1=new JPanel(); JPanel p2=new JPanel(); /添加面板 label=new JLabel(输入要查询的英语单词); label.setFont(new Fo
13、nt(隶书,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); this.add(p2,South); this.add(new JScrollPane(chinesetext),Center); b1.addActionListener(this); b2.addActionListener(this); b3.addActionListener(this); b4.addActionListene
14、r(this); b5.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.setVisib
15、le(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.showMessageD
16、ialog(this,查询对象不能为空,警告,JOptionPane.WARNING_MESSAGE); else tryListwords(); catch(SQLException ee) else 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.ge
17、tSource()=deledit) new DelWin(); /DelWin是删除窗口的类 else if(e.getSource()=b5) /如果是语音文件,则读出单词 if(englishtext.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)/
18、英汉 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(englishenglish.mdb); FileInputStream fis=null; filedialog_save.se
19、tVisible(true); try fis=new FileInputStream(fromfile); /建立文件输入流 int bytesRead; /定义变量来存储输入流中读取的文件 byte buf=new byte4*1024; /定义4KB容量的buffer数组 File tofile=new File(filedialog_save.getDirectory(),filedialog_save.getFile();/建立新文件对象 FileOutputStream fos=new FileOutputStream(tofile);/建立文件输出流 while(bytesRea
20、d=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); else if(e.getSource()=about) /关于 final String AboutMsg=A Electrical Dictionary 1.0nn+An application written to show off the functio
21、n 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; try Class.forName(sun.jdbc,odbc,JdbcOdbcDriver)
22、; catch(ClassNotFoundException e) /建立桥接 Connection ExlCon=DriverManager.getConnection(jdbc:odbc:Driver=MicroSoft Access Driver(english*.mdb);DBQ=E:电子词典明明english.mdb,); Statement ExlStmt=ExlCon.createStatement(); if(label.getText().equals(输入要查询的英语单词:) ResultSet rs=ExlStmt.executeQuery(SELECT *FROM T_
23、1); while(rs.next() ename=rs.getString(单词); cname=rs.getString(解释); if(ename.equals(englishtext.getText() chinesetext.append(cname+n); ExlCon.close();/关闭数据库 if(chinesetext.getText().equals() JOptionPane.showMessageDialog(this,查无此单词!,警告, JOptionPane.WARNING_MESSAGE); else if(label.getText().equals(输入要查询的汉语意思:) ResultSet rs=ExlStmt.executeQuery(SELECT *FROM T_1 WHRER 解释 LIKE% +englishtext.getText()+%); while(rs.next() ename=rs.getString(单词); cname=rs.getString(解释); chinesetext.append(ename+n); Ex
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 化工消防安全工作总结(6篇)
- 污染治理产业政策研究-洞察分析
- 休闲时间分配与生活满意度-洞察分析
- 无线鼠标技术发展-洞察分析
- 网络安全技术创新-第5篇-洞察分析
- 游戏版权保护策略-洞察分析
- 微种植体支抗的骨整合机制-洞察分析
- 应急响应与处置能力建设-洞察分析
- 网络安全法律法规-第16篇-洞察分析
- 《真核生物真菌》课件
- 心肺复苏术最新版
- 2023-2024学年贵州省贵阳市小学数学六年级上册期末自测提分卷
- GB/T 9115.2-2000凹凸面对焊钢制管法兰
- 永久避难硐室安装施工组织措施
- 元旦节前安全教育培训-教学课件
- 芯片工艺流程课件1
- 化工原理设计-苯-氯苯分离过程板式精馏塔设计
- 人教版八年级下册生物期末测试卷带答案
- 新教材人教A版高中数学选择性必修第一册全册教学课件
- IEC60335-1-2020中文版-家用和类似用途电器的安全第1部分:通用要求(中文翻译稿)
- 保险专题高净值人士的财富传承课件
评论
0/150
提交评论