您的当前位置:首页正文

电子词典文档

来源:个人技术集锦
课程设计报告 3 数据库设计

1. 前言

在做电子词典功能实现的时候,主要从以下几个方面入手,即:英汉互译、汉英互译。

在英译汉、汉译英这两个功能模块上,我们首先提供了一个查询界面,即使用者需要输入要查询的关键字,点击确定按钮,屏幕上就会出现其对应的答案。在做这个模块的时候,我们主要解决了JAVA与数据库的链接问题,进而实现其功

2. 系统总体功能介绍

本系统在单词查阅方面主要完成了英译汉、汉译英功能.

4. 主界面功能

该模块的主要功能为:由于将组员所做的各模块组合在一起。使用户可以在一个界面下调用组内成员的功能模块。即放便用户使用又方便用户的学习。而且不但可以通过菜单栏调用各功能模块,还可以通过按钮调用。主界面主要由两个面版,五个按钮,一个文本框,一个文本区,一个标签和一个菜单栏组成。在文本框中输入要查询的数据。文本区中显示查询的结果。

5. 英译汉功能

该模块的主要功能为:当用记遇到陌生的单词或记不清解释的单词时,用户可以通过本功能查找,还通过本模块完成单词的再一次记忆。

6. 汉译英功能

该模块的主要功能为:当用户进行汉译英翻译时难难免遇到不会的词或记不请的记。这时用记就可以通过本功能实现词汇的查找。它不但可以查到想要查的词还可以找到和该词相关的单词。

7. 数据库表设计

英语词汇表

课程设计报告 3 数据库设计

字段名 单词 解释 字段类型 TEXT TEXT 长度 50 50 备注 主键 4.1 主界面功能

主界面主要由主界面主要由两个面版,五个按钮,一个文本框,一个文本区,一个标签和一个菜单栏组成。在文本框中输入要查询的数据。文本区中显示查询的结果。

主要方法包括:DataWindow()为构造方法,创建用户添加词汇界面;与actionPerformed()为接口方法,处理ActionEvent事件。

4.1.1 主界面界面

4.1.2程序源代码

import java.awt.*; import java.net.*;

课程设计报告 3 数据库设计

import java.sql.*; import java.awt.event.*; import javax.swing.*; import java.io.*;

import javax.swing.JOptionPane;

public 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; JMenuBar mbar;

JMenu mfile, medit, mhelp;

JMenuItem edic, cdic, back_data, quit, addedit, modedit, deledit, hhelp,about;

DataWindow() {

super(\"英汉小词典\");

课程设计报告 3 数据库设计

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(\"删除词汇\");// 编辑菜单 hhelp = new JMenuItem(\"帮助\");

课程设计报告 3 数据库设计

about = new JMenuItem(\"关于...\");// 帮助菜单 mfile.add(edic); mfile.add(cdic); mfile.addSeparator(); mfile.add(quit); // mfile mhelp.add(hhelp);

mhelp.add(about); // mhelp edic.addActionListener(this); 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(\"添加\");

课程设计报告 3 数据库设计

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); 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.addActionListener(this);

englishtext.addActionListener(this); back_data.addActionListener(this);

课程设计报告 3 数据库设计

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) // 实现按钮监听 {

课程设计报告 3 数据库设计

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() == edic) // 英汉 {

label.setText(\"输入要查询的英语单词:\"); b1.setVisible(true);

\"查课程设计报告 3 数据库设计

} else if (e.getSource() == cdic) // 汉英 {

label.setText(\"输入要查询的汉语意思:\"); b1.setVisible(true);

} else if (e.getSource() == quit) // 退出 {

System.exit(0); }

else if (e.getSource() == about) // 关于 {

final String AboutMsg = \"A Electrical Dictionary 1.0 \\n \\n\"

+ \"An application written to show off the function of dictionary.\\n \\n\" + \"Written By Edith.\\n \\n\"

+ \"Copyright (c) 2005 by Edith.All rights Reserved.\";

JOptionPane.showMessageDialog(topFrame, AboutMsg); }

课程设计报告 3 数据库设计

else if (e.getSource() == hhelp) // 帮助 { } } }

4.2.1 英译汉界面

注:在文本框输入英语、点击查询、输出中文解释

课程设计报告 3 数据库设计

4.3.1 汉译英界面

注:在文本框输入中文、点击查询、输出英语解释

4.2.2程序主要代码

// 实现查询功能

public void Listwords() throws SQLException { String cname, ename; try {

Class.forName(\"sun.jdbc.odbc.JdbcOdbcDriver\"); } catch (ClassNotFoundException e) { }

课程设计报告 3 数据库设计

// 建立桥接器

Connection Ex1Con =

DriverManager.getConnection(\"jdbc:odbc:fanyi\"); 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); }

课程设计报告 3 数据库设计

} 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);

topFrame.setDefaultCloseOperation(topFrame.EXIT_ON_CLOSE); } } }

public static void main(String args[]) {

课程设计报告 3 数据库设计

JFrame.setDefaultLookAndFeelDecorated(true); DataWindow window = new DataWindow(); window.validate(); } }

因篇幅问题不能全部显示,请点此查看更多更全内容