java通讯录

时间:2023-03-08 18:33:16

(1)设一个通信录由以下几项数据信息构成:

数据项               类型

姓名                  字符串

地址                  字符串

邮政编码              字符串

电话号码             字符串

(2)1.主要功能:

(1) 能建立、查询、修改和增删学生通讯录

(2) 能够按多种方式进行查询

(3)界面友好,易于操作

通讯录管理系统的设计与实现 

                             学生姓名:陈万洲  指导老师:文斌

 

【中文摘要】  这个基于java编写的个人通讯录管理系统含有添加、删除、查找等基本功能,采用的是JDBC-ODBC桥实现数据库的连接,ODBC数据源名称chengwz.mbd。本课程设计主要解决通讯录应用的管理问题, 设计开发一个简单的通讯录系统 ,实现新建联系人,不同方式查找信息,删除信息,修改信息,联系人头像,退出系统等功能。在课程设计中,程序通过调试运行,初步实现了设计目标,并且经过适当完善后,将可以应用在通讯录应用的管理中,解决实际问题。用户和密码是123和123,系统所用的图片,自己用Photoshop制作的

关键词 :通讯录、java、通讯录应用、个人通讯录管理系统、添加、删除、查找,数据库。

效果图:::::::::::::::::::::::::::::::::::::::::::::::::

java通讯录

完整源代码:

//myframe.java

packagekkh;

importjava.awt.*;

importjava.awt.Event.*;

importjava.awt.event .*;

importjavax.swing.*;

importjavax.swing.event.*;

importjava.sql.*;

importjava.util.*;

publicclass myframe extends JFrame implements ActionListener,MouseListener{

JList lt;

privateJMenuBar mb;

privateJMenu mu1,mu2,mu3,mu4;

privateJMenuItem mi1,mi2,mi3,mi4,mi5,mi6,mi7;

DefaultListModeldm=new DefaultListModel();

JLabellb=new JLabel("业精于勤荒于嬉,行成于思毁于随!");

publicint j = 0;

publicint m = 0;

publicint t = 0;

publicint d=0,f=0,h=0,cag=0,del=0;

Stringstr1[] = new String[20]; // 姓名

Stringstr2[] = new String[20]; // 电话

Stringstr3[] = new String[20]; // QQ

Stringstr4[] = new String[20]; // 地址

Stringstr5[] = new String[20]; // 邮编

// 中间面板

classmypan extends JPanel implements ActionListener{

JLabel Name, Tel, QQq, Address,youb,lb2,lb3,lb4,lb5,lb6;

JButton btn1, btn2,btn3;

mypan(int index) {

int x=index;

setLayout(null);

setBackground(Color.white);

Name = newJLabel(str1[x]+" 的联系方式");

Tel  = new JLabel("电话:");     lb2=new JLabel(str2[x]);

QQq   = new JLabel("QQ:");      lb3=new JLabel(str3[x]);

Address = new JLabel("地址:");  lb4=new JLabel(str4[x]);

youb=newJLabel("邮编");         lb5=new JLabel(str5[x]);

ImageIcon img6 = newImageIcon("D:\\workspace\\image\\2.jpg");

if(x==1)img6 = newImageIcon("D:\\workspace\\image\\3.jpg");

if(x==2)img6 = new ImageIcon("D:\\workspace\\image\\4.jpg");

if(x==3)img6=new ImageIcon("D:\\workspace\\image\\5.jpg");

if(x==4)img6 = new ImageIcon("D:\\workspace\\image\\6.jpg");

if(x==5)img6 = new ImageIcon("D:\\workspace\\image\\7.jpg");

if(x==6)img6 = new ImageIcon("D:\\workspace\\image\\8.jpg");

if(x==7)img6 = new ImageIcon("D:\\workspace\\image\\8.jpg");

if(x==8)img6 = new ImageIcon("D:\\workspace\\image\\9.jpg");

if(x==9)img6 = new ImageIcon("D:\\workspace\\image\\10.jpg");

lb6=new JLabel("",img6,SwingConstants.LEADING);

btn1 = new JButton("删除");

btn2 = new JButton("退出");

btn3 = new JButton("修改");

Name.   setBounds(340, 30, 200,30);Name.setForeground(Color.blue);

Tel.    setBounds(330, 80, 60, 30);

QQq.     setBounds(330, 130, 60, 30);

Address.setBounds(330, 180,60, 30);

youb.setBounds(330, 230,60, 30);

lb2.setBounds(370, 80, 180,30);    lb2.setForeground(Color.red);

lb3.setBounds(370, 130,180, 30);   lb3.setForeground(Color.red);

lb4.setBounds(370, 180, 180,30);   lb4.setForeground(Color.red);

lb5.setBounds(370, 230, 180, 30);  lb5.setForeground(Color.red);

lb6.setBounds(100, 50, 200,200);

btn1.setBounds(250, 300,60, 30);

btn2.setBounds(350, 300,60, 30);

btn3.setBounds(150, 300,60, 30);

this.add(btn1);

this.add(btn2);

this.add(btn3);

this.add(Name);

this.add(Tel);

this.add(QQq);

this.add(Address);

this.add(youb);

this.add(lb2);

this.add(lb3);

this.add(lb4);

this.add(lb5);

this.add(lb6);

btn1.addActionListener(this);

btn2.addActionListener(this);

btn3.addActionListener(this);

}

/*public void paint(Graphics g) {

super.paint(g);

ImageIcon img = newImageIcon("D:\\1.jpg");

g.drawImage(img.getImage(), 200,100, 800, 300, this);

}*/

@Override

public void actionPerformed(ActionEvente) {

// TODO 自动生成的方法存根

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

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加载驱动程序

String url ="jdbc:odbc:chengwz";// URL指向要访问的数据库名test

String user ="";// MySQL配置时的用户名

String password ="";// MySQL配置时的密码

ResultSet rs=null ;

Connectionconnection = DriverManager.getConnection(url, user,password);// 连续数据库

if(!connection.isClosed())

System.out.println("Succeededconnecting to the Database!");

Statement statement= connection.createStatement();// statement用来执行SQL语句

PreparedStatementpre=null;

String str2=str1[f];

Stringsq2="delete * from cwz where name=?";

pre=connection.prepareStatement(sq2);                          //要执行的SQL

pre.setString(1,str2);

pre.executeUpdate();

pre.close();

connection.close();

} catch (Exception ee) {

ee.printStackTrace();

System.out.println("============删除时:抛出异常===========");

}

dm.removeElementAt(f);

for (int d = f; d < j;d++) {

str1[d] = str1[d + 1];

str2[d] = str2[d + 1];

str3[d] = str3[d + 1];

str4[d] = str4[d + 1];

str5[d] = str5[d + 1];

}

j--;

f--;

JOptionPane.showMessageDialog(null, "数据删除成功!");

}

else if(e.getSource()==btn2){

dispose();

System.exit(0);

}

else if(e.getSource()==btn3){

new Revisefriend(f);

}

}

}

/*-----------------------------------------------------------------------------*/

mypanpn2=new mypan(f);mypan pnc=new mypan(f);

JLabelName, Tel, QQq, Address, youb,lb2,lb3,lb4,lb5,lb6;

JButtonbtn1, btn2,btn3;

publicmyframe(){

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加载驱动程序

String url ="jdbc:odbc:chengwz";// URL指向要访问的数据库名test

String user = "";//MySQL配置时的用户名

String password = "";//MySQL配置时的密码

Connection connection =DriverManager.getConnection(url, user, password);// 连续数据库

if(!connection.isClosed())

System.out.println("Succeededconnecting to the Database!");

Statement statement =connection.createStatement();// statement用来执行SQL语句

String sql = "select * fromcwz";// 要执行的SQL语句

ResultSet rs =statement.executeQuery(sql);// 执行SQL语句并返回结果集

String name = null;

Stringphone=null;

String QQ=null;

String youbian=null;

String address=null;

while(rs.next()) {

name =rs.getString("name");// 选择sname这列数据

phone=rs.getString("phone");

QQ=rs.getString("QQ");

address=rs.getString("address");

youbian=rs.getString("postcard");

str1[j] = name;

str2[j] = phone;

str3[j] =QQ;

str4[j] = address;

str5[j] = youbian;

j++;

dm.addElement(name+"     "+phone+"     "+address);

}

rs.close();// 关闭结果集

connection.close();// 关闭连接

} catch(ClassNotFoundException e) {

System.out.println("Sorry,can`tfind the Driver!");

e.printStackTrace();

} catch(SQLException e) {

e.printStackTrace();

} catch(Exception e) {

e.printStackTrace();

}

JPanel pn=new JPanel();  JPanel pn3=new JPanel();

mypan pn2=new mypan(f);

mb=new JMenuBar();

mu1=new JMenu("好友操作"); mi1=new JMenuItem("修改");mi2=new JMenuItem("删除");

mu2=new JMenu("查询");   mi3=new JMenuItem("按姓名");mi4=newJMenuItem("按电话");

mu3=new JMenu("新增");   mi5=new JMenuItem("新建联系人");

mu4=new JMenu("帮助");   mi6=new JMenuItem("关于");mi7=newJMenuItem("退出系统");

setJMenuBar(mb);

mb.add(mu1);mu1.add(mi1);mu1.add(mi2);

mb.add(mu2);mu2.add(mi3);mu2.add(mi4);

mb.add(mu3);mu3.add(mi5);

mb.add(mu4);mu4.add(mi6);mu4.add(mi7);

lb.setForeground(Color.black );

pn.add(lb);

lt=new JList(dm);

lt.setSelectionForeground(Color.blue); //选中后的字体颜色

lt.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);

JScrollPane sp=new JScrollPane(lt);

ImageIcon icon=newImageIcon("D:\\1.jpg");

JLabel lbn=new JLabel("8",icon,SwingConstants.LEADING);

pn3.add(lbn);

add(sp,"West");

add(pn,"South");

add(pn2,"Center");

add(pn3,"North");

mi1.addActionListener(this);

mi2.addActionListener(this);

mi3.addActionListener(this);

mi4.addActionListener(this);

mi5.addActionListener(this);

mi6.addActionListener(this);

mi7.addActionListener(this);

lt.addMouseListener(this);

setSize(800,570);

setTitle("通讯录 1.1");

setVisible(true);

setResizable(false);//缩放

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setLocationRelativeTo(null);

JFrame.setDefaultLookAndFeelDecorated(true);

/*Font font=newFont("JFrame",Font.PLAIN,14);

Enumeration keys=UIManager.getLookAndFeelDefaults().keys();

while(keys.hasMoreElements()){

Object key=keys.nextElement();

if(UIManager.get(key)instanceofFont)UIManager.put(keys, font);

}*/

}

publicvoid actionPerformed(ActionEvent e){

if(e.getSource()==mi1){

new ReviseFriendname();

}

else if(e.getSource()==mi2){

new Deletefriend();

}

else if(e.getSource()==mi3){

new Searchfriend();

}

else if(e.getSource()==mi4){

new search2();

}

else if(e.getSource()==mi5){

new Addfriend();

}

else if(e.getSource()==mi6){

new about ();

}

else if(e.getSource()==mi7){

this.dispose();

}

}

@Override

publicvoid mouseClicked(MouseEvent e) {

// TODO 自动生成的方法存根

if (e.getClickCount() == 1)

{

int index=lt.locationToIndex(e.getPoint());

f=index;

pn2.removeAll();

System.out.println("balck");

Name = newJLabel(str1[index]+" 的联系方式");

Tel  = new JLabel("电话:");     lb2=new JLabel(str2[index]);

QQq   = new JLabel("QQ:");      lb3=new JLabel(str3[index]);

Address= new JLabel("地址:");   lb4=new JLabel(str4[index]);

youb=new JLabel("邮编");         lb5=new JLabel(str5[index]);

ImageIcon img6 = newImageIcon("D:\\workspace\\image\\2.jpg");

if(index==1)img6 = newImageIcon("D:\\workspace\\image\\3.jpg");

if(index==2)img6 = newImageIcon("D:\\workspace\\image\\4.jpg");

if(index==3)img6=new ImageIcon("D:\\workspace\\image\\5.jpg");

if(index==4)img6 = newImageIcon("D:\\workspace\\image\\6.jpg");

if(index==4)img6 = new ImageIcon("D:\\workspace\\image\\6.jpg");

if(index==5)img6 = newImageIcon("D:\\workspace\\image\\7.jpg");

if(index==6)img6 = newImageIcon("D:\\workspace\\image\\8.jpg");

if(index==7)img6 = newImageIcon("D:\\workspace\\image\\8.jpg");

if(index==8)img6 = newImageIcon("D:\\workspace\\image\\9.jpg");

if(index==9)img6 = newImageIcon("D:\\workspace\\image\\10.jpg");

lb6=new JLabel("",img6,SwingConstants.LEADING);

btn1 = new JButton("删除");

btn2 = new JButton("退出");

btn3 = new JButton("修改");

Name.   setBounds(340, 30, 200,30);Name.setForeground(Color.blue);

Tel.    setBounds(330, 80, 60, 30);

QQq.     setBounds(330, 130, 60, 30);

Address.setBounds(330, 180,60, 30);

youb.setBounds(330, 230,60, 30);

lb2.setBounds(370,80, 180, 30);   lb2.setForeground(Color.red);

lb3.setBounds(370, 130,180, 30);   lb3.setForeground(Color.red);

lb4.setBounds(370, 180,180, 30);   lb4.setForeground(Color.red);

lb5.setBounds(370, 230, 180, 30);  lb5.setForeground(Color.red);

lb6.setBounds(100, 50, 200,200);

btn1.setBounds(250, 300,60, 30);

btn2.setBounds(350, 300,60, 30);

btn3.setBounds(150, 300,60, 30);

pn2.add(btn1);

pn2.add(btn2);

pn2.add(btn3);

pn2.add(Name);

pn2.add(Tel);

pn2.add(QQq);

pn2.add(Address);

pn2.add(youb);

pn2.add(lb2);

pn2.add(lb3);

pn2.add(lb4);

pn2.add(lb5);

pn2.add(lb6);

add(pn2,"Center");

pn2.updateUI();

}

if (e.getClickCount() == 2)

{

int index=lt.locationToIndex(e.getPoint());

new delete(index);

}

}

@Override

publicvoid mouseEntered(MouseEvent e) {

// TODO 自动生成的方法存根

}

@Override

publicvoid mouseExited(MouseEvent arg0) {

// TODO 自动生成的方法存根

}

@Override

publicvoid mousePressed(MouseEvent e) {

// TODO 自动生成的方法存根

}

@Override

publicvoid mouseReleased(MouseEvent arg0) {

// TODO 自动生成的方法存根

}

//增加好友界面

public   class Addfriend extends JFrame implementsActionListener {

JTextField uTxt1, uTxt2,uTxt3, uTxt4,yb;

JLabel Name, Tel, QQ,Address,youbian;

JButton btn1, btn2;

Addfriend() {

this.setSize(500,390);

this.setTitle("增加好友");

this.setLayout(null);

Name = newJLabel("姓名:");

Tel = newJLabel("电话:");

QQ = newJLabel("QQ:");

Address = newJLabel("地址:");

youbian=newJLabel("邮编");

btn1 = newJButton("新增");

btn2 = newJButton("取消");

uTxt1 = newJTextField(20);

uTxt2 = newJTextField(20);

uTxt3 = newJTextField(20);

uTxt4 = newJTextField(20);

yb=newJTextField(20);

Name.setBounds(130,30, 60, 30);

Tel.setBounds(130,80, 60, 30);

QQ.setBounds(130,130, 60, 30);

Address.setBounds(130,180, 60, 30);

youbian.setBounds(130,230, 60, 30);

uTxt1.setBounds(170,30, 180, 30);

uTxt2.setBounds(170,80, 180, 30);

uTxt3.setBounds(170,130, 180, 30);

uTxt4.setBounds(170,180, 180, 30);

yb.setBounds(170, 230, 180, 30);

btn1.setBounds(150,300, 60, 30);

btn2.setBounds(300,300, 60, 30);

this.add(btn1);

this.add(btn2);

this.add(Name);

this.add(Tel);

this.add(QQ);

this.add(Address);

this.add(youbian);

this.add(uTxt1);

this.add(uTxt2);

this.add(uTxt3);

this.add(uTxt4);

this.add(yb);

btn1.addActionListener(this);

btn2.addActionListener(this);

this.setLocation(650,340);

this.dispose();

this.setVisible(true);

}

public voidactionPerformed(ActionEvent e) {

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

if(uTxt1.getText().trim().equals(""))newkong();

else{

str1[j] =uTxt1.getText();

str2[j] =uTxt2.getText();

str3[j] =uTxt3.getText();

str4[j] =uTxt4.getText();

str5[j] =yb.getText();

j++;

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加载驱动程序

Stringurl = "jdbc:odbc:chengwz";            // URL指向要访问的数据库名test

Stringuser = "";                            // MySQL配置时的用户名

Stringpassword = "";                        // MySQL配置时的密码

Connectionconnection = DriverManager.getConnection(url, user, password);// 连续数据库

PreparedStatementpre=null;

if(!connection.isClosed())

System.out.println("Succeededconnecting to the Database!");

Statementstatement = connection.createStatement();             // statement用来执行SQL语句

Stringsql = "insert into cwz(name,phone,QQ,address,postcard)values(?,?,?,?,?)";

pre=connection.prepareStatement(sql);                           // 要执行的SQL语句

pre.setString(1,uTxt1.getText());

pre.setString(2,uTxt2.getText());

pre.setString(3,uTxt3.getText());

pre.setString(4,uTxt4.getText());

pre.setString(5,yb.getText());

pre.executeUpdate();                                             //执行

dm.addElement(uTxt1.getText()+"     "+uTxt2.getText()+"     "+uTxt4.getText());

pre.close();//关闭结果集

connection.close();//关闭连接

}catch(Exception ee) {

System.out.println("==charucuowu");

ee.printStackTrace();

}

this.dispose();}

}

if (e.getSource() ==btn2) {

this.dispose();

}

}

}

//按姓名查询好友界面

public class Searchfriend extendsJFrame implements ActionListener {

JLabel label;

JTextField uTxt;

JButton btn1, btn2;

int f=0;

Searchfriend() {

this.setSize(400,300);

this.setTitle("查询好友");

this.setLayout(null);

label = newJLabel("好友名");

uTxt = newJTextField(20);

btn1 = newJButton("查询");

btn2 = newJButton("退出");

label.setBounds(80,100, 60, 30);

uTxt.setBounds(130,100, 140, 30);

btn1.setBounds(100,200, 60, 30);

btn2.setBounds(220,200, 60, 30);

this.add(label);

this.add(uTxt);

this.add(btn1);

this.add(btn2);

btn1.addActionListener(this);

btn2.addActionListener(this);

this.setLocation(650,340);

this.dispose();

this.setVisible(true);

}

public voidactionPerformed(ActionEvent e) {

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

if(uTxt.getText().trim().equals(""))

JOptionPane.showMessageDialog(null,"请输入姓名 !");

else{

for (f = 0; f<= j; f++)

if(uTxt.getText().equals(str1[f]))

newdelete(f);

for(f=0;(f<=j)&&(!uTxt.getText().equals(str1[f]));f++)

if(!uTxt.getText().equals(str1[f])&&f==j)

JOptionPane.showMessageDialog(null,"通讯录中没有此联系人 !");

this.dispose();

}

}

if (e.getSource() ==btn2) {

this.dispose();

}

}

}

//按电话号码查询好友界面

public class search2extends JFrame implements ActionListener {

JLabel label;

JTextFielduTxt;

JButton btn1,btn2;

search2() {

this.setSize(400,300);

this.setTitle("查询好友");

this.setLayout(null);

label= new JLabel("电话");

uTxt =new JTextField(20);

btn1 =new JButton("查询");

btn2 =new JButton("退出");

label.setBounds(80,100, 60, 30);

uTxt.setBounds(130,100, 140, 30);

btn1.setBounds(100,200, 60, 30);

btn2.setBounds(220,200, 60, 30);

this.add(label);

this.add(uTxt);

this.add(btn1);

this.add(btn2);

btn1.addActionListener(this);

btn2.addActionListener(this);

this.setLocation(650,340);

this.dispose();

this.setVisible(true);

}

public voidactionPerformed(ActionEvent e) {

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

if(uTxt.getText().trim().equals(""))

JOptionPane.showMessageDialog(null,"请输入联系人号码!");

else{

for(f = 0; f <= j; f++)

if(uTxt.getText().equals(str2[f]))

newdelete(f);

for(f=0;(f<=j)&&(!uTxt.getText().equals(str2[f]));f++)

if((!uTxt.getText().equals(str2[f]))&&(f==j))

newnone();

this.dispose();}

}

if(e.getSource() == btn2) {

this.dispose();

}

}

}

//好友信息修改界面

public class Revisefriend extendsJFrame implements ActionListener,

ItemListener {

JTextField uTxt1, uTxt2,uTxt3, uTxt4,yb;

JLabel Name, Tel, QQ,Address, youbian;

JButton btn1, btn2;

Revisefriend(int t) {

this.setSize(500,380);

this.setTitle("好友信息");

this.setLayout(null);

Name = newJLabel("姓名:");

Tel = newJLabel("电话:");

QQ = newJLabel("QQ:");

Address = newJLabel("地址:");

youbian=newJLabel("邮编");

btn1 = newJButton("修改");

btn2 = newJButton("取消");

uTxt1 = newJTextField(20);

uTxt2 = newJTextField(20);

uTxt3 = newJTextField(20);

uTxt4 = newJTextField(20);

yb=new JTextField(20);

Name.setBounds(130,30, 60, 30);

Tel.setBounds(130,80, 60, 30);

QQ.setBounds(130,130, 60, 30);

Address.setBounds(130,180, 60, 30);

youbian.setBounds(130,230, 60, 30);

uTxt1.setBounds(170,30, 180, 30);

uTxt2.setBounds(170,80, 180, 30);

uTxt3.setBounds(170,130, 180, 30);

uTxt4.setBounds(170,180, 180, 30);

yb.setBounds(170, 230, 180, 30);

btn1.setBounds(150,290, 60, 30);

btn2.setBounds(320,290, 60, 30);

uTxt1.setText(str1[t]);

uTxt2.setText(str2[t]);

uTxt3.setText(str3[t]);

uTxt4.setText(str4[t]);

yb   .setText(str5[t]);

this.add(btn1);

this.add(btn2);

this.add(Name);

this.add(Tel);

this.add(QQ);

this.add(Address);

this.add(youbian);

this.add(uTxt1);

this.add(uTxt2);

this.add(uTxt3);

this.add(uTxt4);

this.add(yb);

btn1.addActionListener(this);

btn2.addActionListener(this);

this.setLocation(650,340);

this.dispose();

this.setVisible(true);

}

public voidactionPerformed(ActionEvent e) {

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

t=cag;

if(uTxt1.getText().trim().equals(""))newkong();

else{

str1[t]= uTxt1.getText();

str2[t]= uTxt2.getText();

str3[t]= uTxt3.getText();

str4[t]= uTxt4.getText();

str5[t]= yb.getText();

dm.removeElementAt(t);

dm.add(t,uTxt1.getText()+"     "+uTxt2.getText()+"     "+uTxt4.getText());

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加载驱动程序

Stringurl = "jdbc:odbc:chengwz";

Stringuser = "";

Stringpassword = "";

PreparedStatementpre=null;

ResultSetrs;

Connectionconnection = DriverManager.getConnection(url, user, password);

if(!connection.isClosed())

System.out.println("Succeededconnecting to the Database!");

Statementstatement = connection.createStatement();            // statement用来执行SQL语句

Stringsql = "update cwz set name=?,phone=?,QQ=?,address=?,postcard=? wherename=?";

pre=connection.prepareStatement(sql);                          //要执行的SQL

pre.setString(1,uTxt1.getText());

pre.setString(2,uTxt2.getText());

pre.setString(3,uTxt3.getText());

pre.setString(4,uTxt4.getText());

pre.setString(5,yb.getText());

pre.setString(6,uTxt1.getText());

pre.executeUpdate();

pre.close();//关闭结果集

connection.close();//关闭连接

}catch(Exception ee) {

System.out.println("==修改时出错==");

ee.printStackTrace();

}

this.dispose();

}

}

else if(e.getSource() == btn2) {

this.dispose();

}

}

public voiditemStateChanged(ItemEvent e) {

}

}

//修改好友提示界面

public class ReviseFriendnameextends JFrame implements ActionListener {

JLabel FriendName;

JTextField uTxt;

JButton btn1, btn2;

ReviseFriendname() {

this.setSize(400,300);

this.setTitle("修改好友");

this.setLayout(null);

FriendName = newJLabel("好友名");

uTxt = newJTextField(20);

btn1 = newJButton("搜索");

btn2 = newJButton("退出");

FriendName.setBounds(80,100, 60, 30);

uTxt.setBounds(140,100, 160, 30);

btn1.setBounds(100,200, 60, 30);

btn2.setBounds(220,200, 60, 30);

btn1.addActionListener(this);

btn2.addActionListener(this);

this.add(FriendName);

this.add(uTxt);

this.add(btn1);

this.add(btn2);

this.setLocation(650,340);

this.dispose();

this.setVisible(true);

}

public voidactionPerformed(ActionEvent e) {

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

if(uTxt.getText().trim().equals(""))newkong();

else{

for (m = 0;m<=j; m++)

if (uTxt.getText().equals(str1[m])){

cag=m;

new Revisefriend(m);

}

for (m = 0;m<=j&&!(uTxt.getText().equals(str1[m])); m++)

if((!(uTxt.getText().equals(str1[m])))&&(m==j))

newnone();

this.dispose();

}

}

if (e.getSource() ==btn2) {

this.dispose();

}

}

}

//删除好友界面1

public class Deletefriend extendsJFrame implements ActionListener {

JLabel FriendName;

JTextField uTxt;

JButton btn1, btn2;

String name;

Deletefriend() {

this.setSize(400, 300);

this.setTitle("搜索你要删除的好友名  ");

this.setLayout(null);

FriendName = newJLabel("好友名");

uTxt = new JTextField(20);

btn1 = newJButton("打开");

btn2 = newJButton("退出");

FriendName.setBounds(80,60, 100, 30);

uTxt.setBounds(140,60, 180, 30);

btn1.setBounds(100,200, 60, 30);

btn2.setBounds(200,200, 60, 30);

this.add(uTxt);

this.add(FriendName);

this.add(btn1);

this.add(btn2);

btn1.addActionListener(this);

btn2.addActionListener(this);

this.setLocation(650,340);

this.dispose();

this.setVisible(true);

}

public voidactionPerformed(ActionEvent e) {

if (e.getSource() ==btn2) {

this.dispose();

}

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

if(uTxt.getText().trim().equals(""))newkong();

else{

for (int h =0; h <= j; h++)

if(uTxt.getText().equals(str1[h])) {

newdelete(h);

}

for(inth1=0;h1<=j&&(!uTxt.getText().equals(str1[h1]));h1++)

if((!uTxt.getText().equals(str1[h1])&&h1==j))

newnone();

this.dispose();}

}

}

}

//删除好友界面2

public class delete extends JFrameimplements ActionListener {

JLabel Name, Tel, QQq, Address,youb,lb2,lb3,lb4,lb5;

JButton btn1, btn2;

delete(int h) {

f=h;

this.setSize(500, 380);

this.setTitle("联系人信息");

this.setLayout(null);

Name = new JLabel(str1[f]+" 的联系方式");

Tel  = new JLabel("电话:");   lb2=new JLabel(str2[f]);

QQq   = new JLabel("QQ:");     lb3=new JLabel(str3[f]);

Address = new JLabel("地址:"); lb4=new JLabel(str4[f]);

youb=new JLabel("邮编");   lb5=new JLabel(str5[f]);

btn1 = new JButton("删除");

btn2 = new JButton("返回");

Name.   setBounds(190, 30, 200,30);Name.setForeground(Color.blue);

Tel.    setBounds(180, 80, 60, 30);

QQq.     setBounds(180, 130, 60, 30);

Address.setBounds(180, 180, 60,30);

youb.setBounds(180, 230, 60, 30);

lb2.setBounds(220, 80, 180,30);    lb2.setForeground(Color.red);

lb3.setBounds(220, 130, 180,30);   lb3.setForeground(Color.red);

lb4.setBounds(220, 180, 180,30);   lb4.setForeground(Color.red);

lb5.setBounds(220, 230, 180, 30);   lb5.setForeground(Color.red);

btn1.setBounds(150, 270, 60, 30);

btn2.setBounds(300, 270, 60, 30);

this.add(btn1);

this.add(btn2);

this.add(Name);

this.add(Tel);

this.add(QQq);

this.add(Address);

this.add(youb);

this.add(lb2);

this.add(lb3);

this.add(lb4);

this.add(lb5);

btn1.addActionListener(this);

btn2.addActionListener(this);

this.setLocation(650,340);

this.dispose();

this.setVisible(true);

}

public void actionPerformed(ActionEvente) {

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

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加载驱动程序

String url ="jdbc:odbc:chengwz";// URL指向要访问的数据库名test

String user ="";// MySQL配置时的用户名

Stringpassword = "";// MySQL配置时的密码

ResultSetrs=null ;

Connectionconnection = DriverManager.getConnection(url, user,password);// 连续数据库

if(!connection.isClosed())

System.out.println("Succeededconnecting to the Database!");

Statementstatement = connection.createStatement();// statement用来执行SQL语句

PreparedStatementpre=null;

String str2=str1[f];

Stringsq2="delete * from cwz where name=?";

pre=connection.prepareStatement(sq2);                          //要执行的SQL

pre.setString(1,str2);

pre.executeUpdate();

pre.close();

connection.close();

} catch (Exceptionee) {

ee.printStackTrace();

System.out.println("============删除时:抛出异常===========");

}

dm.removeElementAt(f);

for (int d = f; d< j; d++) {

str1[d] = str1[d +1];

str2[d] = str2[d +1];

str3[d] = str3[d +1];

str4[d] = str4[d +1];

str5[d] = str5[d +1];

}

j--;

f--;

this.dispose();

}

else if (e.getSource() == btn2) {

this.dispose();

}

}

}

//关于

public class about extends JFrame{

JLabel lb1, lb2,lb3,lb4,lb5;

about() {

this.setSize(300, 200);

this.setTitle("关于");

this.setLayout(null);

lb1 = new JLabel("               java 课程设计    通讯录  1.1");

lb2 = new JLabel("海南师范大学信息学院  2012级计本(1)班   ");

lb3 = new JLabel("                                  指导老师:文   斌 ");

lb4 = new JLabel("                                       2013.12");

lb5 = new JLabel("陈万洲 201224010203");

lb1.setBounds(20, 0, 400, 50);

lb2.setBounds(20, 20, 400, 50);

lb5.setBounds(20, 40, 400, 50);

lb3.setBounds(20, 60, 400, 100);

lb4.setBounds(20, 80, 400, 100);

lb1.setForeground(Color.blue);

this.add(lb1);

this.add(lb2);

this.add(lb3);

this.add(lb4);

this.add(lb5);

this.setLocation(650,340);

this.dispose();

this.setVisible(true);

}

}

//查无此人

public class none extends JFrame {

JLabel lb1;

none() {

this.setSize(300, 200);

this.setTitle("提示");

this.setLayout(null);

lb1 = new JLabel("查无此联系人!");

lb1.setBounds(20, 0, 400, 100);

lb1.setForeground(Color.RED);

this.add(lb1);

this.setLocation(650,340);

this.dispose();

this.setVisible(true);

}

}

//没有输入名字提示界面

public class kong extends JFrameimplements ActionListener{

JLabel lb1;

JButton bt=newJButton("OK");

kong() {

this.setSize(300,200);

this.setTitle("提示");

this.setLayout(null);

lb1 = newJLabel("请输入好友姓名 !");

lb1.setBounds(20, 0,400, 100);

bt.setBounds(120,100, 60, 30);

lb1.setForeground(Color.blue);

bt.setForeground(Color.blue);

this.add(lb1);

this.add(bt);

bt.addActionListener(this);

this.setLocation(1019,414);

this.dispose();

this.setVisible(true);

}

@Override

public voidactionPerformed(ActionEvent e) {

// TODO 自动生成的方法存根

dispose();

}

}

}

//enter.java     登录界面

packagekkh;

importjava.awt.event.*;

importjava.awt.*;

importjavax.swing.*;

class enter extends JFrame implementsActionListener {

JLabel lb,user,mima;

JButton btn;

JProgressBar pg=new JProgressBar(1, 100);

Timer tim;

public JTextField user2;

public JPasswordField mima2;

int n=100;

enter() {

setSize(550, 420);

//setTitle("系统登录");

pg.setStringPainted(true);

pg.setString("沟通、从这里开始!");

pg.setBackground(Color.white);

pg.setForeground(Color.yellow);

toFront();

tim=new javax.swing.Timer(100, this);

tim.addActionListener(this);

JPanel pn=new JPanel();

setContentPane(pn);

pn.setLayout(null);

user2=new JTextField(6);

mima2=new JPasswordField(6);

mima2.setEchoChar('*');

user=new JLabel("用户:");

mima=new JLabel("密码:");

ImageIcon img3= newImageIcon("D:\\workspace\\image\\23.jpg");

lb=new JLabel(img3);

ImageIcon img1= newImageIcon("D:\\workspace\\image\\enter.jpg");

btn = new JButton(img1);

user.setBounds(20, 150, 50,30);user2.setBounds(55, 150, 100, 30);

mima.setBounds(20,200, 50, 30);mima2.setBounds(55, 200, 100, 30);

pg.setBounds(0, 346, 550, 30);

lb.setBounds(0, 0, 550, 358);

btn.setBounds(240, 249, 76, 41);

btn.setEnabled(true);

pn.add(user);pn.add(user2);

pn.add(mima);pn.add(mima2);

pn.add(pg);

pn.add(btn);

pn.add(lb);

btn.addActionListener(this);

this.setLocationRelativeTo(null);

this.dispose();

this.setVisible(true);

}

public void actionPerformed(ActionEvente) {

if (e.getSource() == btn) {

if(user2.getText().trim().equals("123")&&(mima2.getText().trim().equals("123"))){

tim.start();

pg.setString("正在进入通讯录系统.......");

setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));

}

elseJOptionPane.showMessageDialog(null, "你输入的账号和密码不匹配!");

}

else if(--n>0){

pg.setValue(100-n);

tim.restart();

}

else{

tim.stop();

dispose();

JFrame.setDefaultLookAndFeelDecorated(true);

myframe fr=new myframe();

}

}

}

//dome.java 程序入口mian()

packagekkh;

importjavax.swing.*;

publicclass dome {

public static void main(String[] args) {

// TODO 自动生成的方法存根

JFrame.setDefaultLookAndFeelDecorated(true);

enter et=new enter();

}

}