附录源代码

  • 格式:docx
  • 大小:24.49 KB
  • 文档页数:8

1 附录

import java.awt.*;

import .*;

import java.sql.*;

import java.awt.event.*;

import javax.swing.JOptionPane;

import java.io.*;

import sun.audio.*;

class dzcd extends Frame implements ActionListener

{

MenuBar menubar=new MenuBar();//菜单

Menu fileMenu,editMenu,helpMenu;

MenuItem fileenglish,filechinese,exit,editAdd,editmod,editDel;

TextField inputtext;

TextArea txt;

Label label1,label2;

Button btn1,btnsound;

Panel p,p1,p2,p3;

dzcd()

{

super("电子词典");

setBounds(200,300,350,400);

setMenuBar(menubar);

fileMenu=new Menu("文件");

editMenu=new Menu("编辑");

helpMenu=new Menu("帮助");

fileenglish=new MenuItem("英汉词典");

filechinese=new MenuItem("汉英词典");

exit=new MenuItem("退出");

editAdd=new MenuItem("添加词汇");

editmod=new MenuItem("修改词汇");

editDel=new MenuItem("删除词汇");

menubar.add(fileMenu);

menubar.add(editMenu);

menubar.add(helpMenu);

fileMenu.add(fileenglish); 2 fileMenu.add(filechinese);

fileMenu.addSeparator();

fileMenu.add(exit);

editMenu.add(editAdd);

editMenu.add(editmod);

editMenu.add(editDel);

inputtext=new TextField("",10);

txt=new TextArea(10,10);

label1=new Label("输入要查询的英语单词:");

label2=new Label("查询结果:");

btn1=new Button("查询");

btnsound=new Button("发音");

p=new Panel(new BorderLayout());

p2=new Panel(new FlowLayout(FlowLayout.LEFT,5,0));

p2.add(label1);

p2.add(inputtext);

p2.add(btn1);

p2.add(btnsound);

add(p2,"North");

p.add(label2,"North");

p.add(txt,"Center");

add(p,"Center");

setVisible(true);

setResizable(false);

validate();

fileenglish.addActionListener(this);

filechinese.addActionListener(this);

exit.addActionListener(this);

editAdd.addActionListener(this);

editmod.addActionListener(this);

editDel.addActionListener(this);

btn1.addActionListener(this);

btnsound.addActionListener(this);

addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

System.exit(0);

} 3 });

}

public void actionPerformed(ActionEvent e)

{

if(e.getSource()==fileenglish)//英汉(外观变化)

{

label1.setText("输入要查询的英语单词:");

label2.setText("查询结果:");

txt.setText("");

btn1.setLabel("查询");

btnsound.setVisible(true);

}

else if(e.getSource()==filechinese)//汉英(外观变化)

{

label1.setText("输入要查询的汉语词语:");

label2.setText("查询结果:");

txt.setText("");

btn1.setLabel("查询");

btnsound.setVisible(true);

}

else if(e.getSource()==exit)//退出

{

System.exit(0);

}

else if(e.getSource()==btn1)

{

if(btn1.getLabel().equals("查询"))//实现查询功能(包括英汉或汉英)

{

txt.setText(null);

try

{

Listwords();

}

catch(SQLException ee){}

}

else if(btn1.getLabel().equals("提交"))//实现添加功能

{

try

{

addwords();

}

catch(SQLException ee){}

}

else if(btn1.getLabel().equals("更新"))//实现修改功能 4 {

try

{

modwords();

}

catch(SQLException ee){}

}

else if(btn1.getLabel().equals("删除"))//实现删除功能

{

try

{

delwords();

}

catch(SQLException ee){}

}

}

else if(e.getSource()==editAdd)//添加(外观变化)

{

label1.setText("输入新单词:");

label2.setText("输入中文解释:");

btn1.setLabel("提交");

btnsound.setVisible(false);

}

else if(e.getSource()==editmod)//修改(外观变化)

{

label1.setText("输入要修改的单词:");

label2.setText("输入更新后的解释:");

btn1.setLabel("更新");

btnsound.setVisible(false);

}

else if(e.getSource()==editDel)//删除(外观变化)

{

label1.setText("输入要删除的单词:");

label2.setText("");

btn1.setLabel("删除");

btnsound.setVisible(false);

}

else if(e.getSource()==btnsound)//发音

{

if(inputtext.getText()!=null)

{

try

{

InputStream is=getClass().getResource("sound//"+ 5 inputtext.getText().trim()+".wav").openStream();

AudioPlayer.player.start(is);

}

catch(IOException e1){}

}

}

}

public void Listwords() throws SQLException//查询实现过程

{

String cname,ename;

try

{

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

}

catch(ClassNotFoundException e){}

Connection Ex1Con=DriverManager.getConnection("jdbc:odbc:words","","");

Statement Ex1Stmt=Ex1Con.createStatement();

ResultSet rs=Ex1Stmt.executeQuery("SELECT * FROM words");

boolean boo=false;

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

{

ename=rs.getString("英语");

cname=rs.getString("汉语");

if(ename.equals(inputtext.getText())&&

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

{

txt.append(cname);

break;

}

else if(cname.equals(inputtext.getText())&&

label1.getText().equals("输入要查询的汉语词语:"))

{

txt.append(ename);

break;

}

}

Ex1Con.close();