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(); } }
因篇幅问题不能全部显示,请点此查看更多更全内容