java课程设计报告之个人通讯录管理程序.docx

上传人:b****6 文档编号:8036675 上传时间:2023-01-28 格式:DOCX 页数:27 大小:86.96KB
下载 相关 举报
java课程设计报告之个人通讯录管理程序.docx_第1页
第1页 / 共27页
java课程设计报告之个人通讯录管理程序.docx_第2页
第2页 / 共27页
java课程设计报告之个人通讯录管理程序.docx_第3页
第3页 / 共27页
java课程设计报告之个人通讯录管理程序.docx_第4页
第4页 / 共27页
java课程设计报告之个人通讯录管理程序.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

java课程设计报告之个人通讯录管理程序.docx

《java课程设计报告之个人通讯录管理程序.docx》由会员分享,可在线阅读,更多相关《java课程设计报告之个人通讯录管理程序.docx(27页珍藏版)》请在冰豆网上搜索。

java课程设计报告之个人通讯录管理程序.docx

java课程设计报告之个人通讯录管理程序

一、设计内容

设计GUI界面的个人通讯录,用户可以添加,删除,修改,查询,打印通讯录中的记录!

二、设计要求

用图形用户界面实现:

1、能实现增加记录,删除记录,显示所有记录,查询记录,文件备份。

2、通讯录的功能包括:

姓名,电话,Email等。

3、使用数据库做后台连接!

三、总体设计

有5个类

各类之间的关系!

1、DAO.java

该类主要负责进行数据库连接,含有数据库的连接方法!

2、User.java

实体类主要作用是实现java的封装特性,利用服务类实现各种增删改查的操作方法!

3、UserService.java

该类主要是对各种操作方法的定义和实现,是实现增删改查等主要功能的服务类!

4、MySeystem

该类主要是实现图形化界面的!

实现按钮,输入框,标签等图形化界面!

5、UseSystem

该类是程序的主类,该类含有main方法,程序从该类开始执行。

四、具体设计

将5个java文件保存到同一个文件夹中,例如:

C:

\test。

将5个java

文件分别编译生成相应的字节码(class)文件。

然后,用java解释器运行主类:

主界面

修改界面

添加界面

五、具体分工

我参与设计添加页面,添加方法,数据库部分操作。

六、程序设计

代码:

1、UseSystem;类

publicclassUseSystem{

/**

*@paramargs

*/

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

newMySystem().validate();

}

}

2、MySystem类

importjava.awt.*;

importjava.awt.*;

importjava.awt.event.*;

importjava.io.BufferedWriter;

importjava.io.File;

importjava.io.FileWriter;

importjava.io.IOException;

importjava.util.*;

importjavax.swing.*;

importcn.cc.system.model.User;

importcn.cc.system.service.UserService;

publicclassMySystemextendsJFrameimplementsActionListener,ItemListener{

UserServiceuService=newUserService();

Useru=newUser();

Choicechoice=newChoice();

JTextFieldt1=newJTextField(15);

JButtonb1=newJButton("查询");

java.awt.Listlist=newjava.awt.List(6,true);

JButtonb2=newJButton("增加");

JButtonb3=newJButton("删除");

JButtonb4=newJButton("修改");

JButtonb5=newJButton("导出");

Containercon=getContentPane();

java.util.ListuList=newArrayList();

//staticVectoruv=newVector(100);

intflag=0;

MySystem(){

super("个人通讯录管理程序");

setSize(400,400);

con.setLayout(newBorderLayout());

choice.add("姓名");

choice.add("类别");

choice.add("手机号码");

choice.add("查询全部记录");

Panelp1=newPanel();

//Panelp2=newPanel();

Panelp3=newPanel();

p1.setBackground(Color.blue);

p1.setSize(300,10);

//p2.setBackground(Color.cyan);

//p2.setSize(380,300);

p3.setBackground(Color.green);

list.setSize(300,300);

p1.add(choice);

p1.add(t1);

p1.add(b1);

p3.add(b2);

p3.add(b4);

p3.add(b3);

p3.add(b5);

con.add("North",p1);

con.add("Center",list);

con.add("South",p3);

setVisible(true);

validate();

addWindowListener(newWindowAdapter(){

publicvoidwindowClosing(WindowEvente){

setVisible(false);

System.exit(0);

}

});

b1.addActionListener(this);

b2.addActionListener(this);

b3.addActionListener(this);

b4.addActionListener(this);

b5.addActionListener(this);

list.addItemListener(this);

}

@Override

publicvoidactionPerformed(ActionEvente){

if(e.getSource()==b2){//通过产生外部窗体,来实现添加功能

finalJFramenewf=newJFrame("添加联系人");

newf.setSize(400,400);

newf.setVisible(true);

newf.setLayout(newGridLayout(10,2));

JLabeljb1=newJLabel("联系人姓名:

");

finalJTextFieldjtf1=newJTextField(15);

Panelpp1=newPanel();

pp1.add(jb1);

pp1.add(jtf1);

newf.getContentPane().add(pp1);

JLabeljb2=newJLabel("联系人电话:

");

finalJTextFieldjtf2=newJTextField(15);

Panelpp2=newPanel();

pp2.add(jb2);

pp2.add(jtf2);

newf.getContentPane().add(pp2);

JLabeljb3=newJLabel("固定电话:

");

finalJTextFieldjtf3=newJTextField(15);

Panelpp3=newPanel();

pp3.add(jb3);

pp3.add(jtf3);

newf.getContentPane().add(pp3);

JLabeljb4=newJLabel("联系人QQ:

");

finalJTextFieldjtf4=newJTextField(15);

Panelpp4=newPanel();

pp4.add(jb4);

pp4.add(jtf4);

newf.getContentPane().add(pp4);

JLabeljb7=newJLabel("联系人email:

");

finalJTextFieldjtf7=newJTextField(15);

Panelpp7=newPanel();

pp7.add(jb7);

pp7.add(jtf7);

newf.getContentPane().add(pp7);

JLabeljb8=newJLabel("联系类别:

");

finalJTextFieldjtf8=newJTextField(15);

Panelpp8=newPanel();

pp8.add(jb8);

pp8.add(jtf8);

newf.getContentPane().add(pp8);

JLabeljb5=newJLabel("联系人工作:

");

finalJTextFieldjtf5=newJTextField(15);

Panelpp5=newPanel();

pp5.add(jb5);

pp5.add(jtf5);

newf.getContentPane().add(pp5);

JLabeljb6=newJLabel("现居住地地址:

");

finalJTextFieldjtf6=newJTextField(15);

Panelpp6=newPanel();

pp6.add(jb6);

pp6.add(jtf6);

newf.getContentPane().add(pp6);

JButtonbb1=newJButton("提交");

JButtonbb2=newJButton("关闭");

Panelpp9=newPanel();

pp9.add(bb1);

pp9.add(bb2);

newf.getContentPane().add(pp9);

//JTextAreajta=newJTextArea();Panelpp10=new

//Panel();pp10.add(jta);newf.getContentPane().add();

bb1.addMouseListener(newMouseAdapter(){

publicvoidmouseClicked(MouseEventee){

Useru=newUser();

u.setName(jtf1.getText());

u.setTel(jtf2.getText());

u.setPhone(jtf3.getText());

u.setQq(jtf4.getText());

u.setWork(jtf5.getText());

u.setAddress(jtf6.getText());

u.setEmail(jtf7.getText());

u.setCategory(jtf8.getText());

if(uService.add(u)){

JOptionPane.showMessageDialog(null,"添加成功!

");

}else

JOptionPane.showMessageDialog(null,"添加失败!

");

}

});

bb2.addMouseListener(newMouseAdapter(){

publicvoidmouseClicked(MouseEventee){

newf.setVisible(false);

}

});

}

if(b1==e.getSource()){//通过调用select();实现模糊查询

list.removeAll();

select();

}

if(b3==e.getSource()){//通过获得联系人在list中的索引号,来实现对联系人的删除

if(flag==0){

JOptionPane.showMessageDialog(null,"不能删除该行!

");

}

u=uList.get(flag-1);

if(uService.delById(u.getId())){

JOptionPane.showMessageDialog(null,"删除成功!

");

uList.remove(flag-1);

list.removeAll();

list.add("编号"+""+"姓名"+""+"电话");

for(Useru1:

uList){

list.add(u1.getId()+":

"+u1.getName()+""

+u1.getTel());

}

}else

JOptionPane.showMessageDialog(null,"删除失败!

");

 

}

if(b4==e.getSource()){//通过获得联系人在list中的索引号,同弹出一个外部窗体其中

//有联系人的信息,用户可以修改.并在将其存入数据库

if(flag==0){

JOptionPane.showMessageDialog(null,"不能修改首行!

");

return;

}

u=uList.get(flag-1);

finalJFramenewf=newJFrame("添加联系人");

newf.setSize(400,400);

newf.setVisible(true);

newf.setLayout(newGridLayout(10,2));

JLabeljb1=newJLabel("联系人姓名:

");

finalJTextFieldjtf1=newJTextField(u.getName(),15);

Panelpp1=newPanel();

pp1.add(jb1);

pp1.add(jtf1);

newf.getContentPane().add(pp1);

JLabeljb2=newJLabel("联系人电话:

");

finalJTextFieldjtf2=newJTextField(u.getTel(),15);

Panelpp2=newPanel();

pp2.add(jb2);

pp2.add(jtf2);

newf.getContentPane().add(pp2);

JLabeljb3=newJLabel("固定电话:

");

finalJTextFieldjtf3=newJTextField(u.getPhone(),15);

Panelpp3=newPanel();

pp3.add(jb3);

pp3.add(jtf3);

newf.getContentPane().add(pp3);

JLabeljb4=newJLabel("联系人QQ:

");

finalJTextFieldjtf4=newJTextField(u.getQq(),15);

Panelpp4=newPanel();

pp4.add(jb4);

pp4.add(jtf4);

newf.getContentPane().add(pp4);

JLabeljb7=newJLabel("联系人email:

");

finalJTextFieldjtf7=newJTextField(u.getEmail(),15);

Panelpp7=newPanel();

pp7.add(jb7);

pp7.add(jtf7);

newf.getContentPane().add(pp7);

JLabeljb8=newJLabel("联系类别:

");

finalJTextFieldjtf8=newJTextField(u.getCategory(),15);

Panelpp8=newPanel();

pp8.add(jb8);

pp8.add(jtf8);

newf.getContentPane().add(pp8);

JLabeljb5=newJLabel("联系人工作:

");

finalJTextFieldjtf5=newJTextField(u.getWork(),15);

Panelpp5=newPanel();

pp5.add(jb5);

pp5.add(jtf5);

newf.getContentPane().add(pp5);

JLabeljb6=newJLabel("现居住地地址:

");

finalJTextFieldjtf6=newJTextField(u.getAddress(),15);

Panelpp6=newPanel();

pp6.add(jb6);

pp6.add(jtf6);

newf.getContentPane().add(pp6);

JButtonbb1=newJButton("提交");

JButtonbb2=newJButton("关闭");

Panelpp9=newPanel();

pp9.add(bb1);

pp9.add(bb2);

newf.getContentPane().add(pp9);

bb1.addMouseListener(newMouseAdapter(){

publicvoidmouseClicked(MouseEventee){

u.setName(jtf1.getText());

u.setTel(jtf2.getText());

u.setPhone(jtf3.getText());

u.setQq(jtf4.getText());

u.setWork(jtf5.getText());

u.setAddress(jtf6.getText());

u.setEmail(jtf7.getText());

u.setCategory(jtf8.getText());

if(uService.update(u)){

JOptionPane.showMessageDialog(null,"修改成功!

");

select();

}

elseJOptionPane.showMessageDialog(null,"修改失败!

");}

});

bb2.addMouseListener(newMouseAdapter(){

publicvoidmouseClicked(MouseEventee){

newf.setVisible(false);

}

});

}

if(b5==e.getSource()){//实现全部联系人的导出

Filef=newFile("user_information.txt");

try{

FileWriterw_file=newFileWriter(f);

BufferedWriterb_file=newBufferedWriter(w_file);

b_file.write("联系人编号\t姓名\t手机号码\t固定电话\tqq号码\temail\t类别\t工作\t现居住地地址\t");

b_file.flush();

for(Useru:

uService.getAllUser()){

b_file.write(u.getId()+"\t"+u.getName()+"\t"+u.getTel()+"\t"+u.getPhone()+"\t"+u.getQq()

+"\t"+u.getEmail()+"\t"+u.getCategory()+"\t"+u.getWork()+"\t"+u.getAddress()+"\n");

b_file.flush();

}

JOptionPane.showMessageDialog(null,"导出成功!

");

}catch(IOExceptione1){

//TODOAuto-generatedcatchblock

e1.printStackTrace();

}

}

}

@Override

publicvoiditemStateChanged(ItemEventa){

intsum=Integer.parseInt(a.getItem().toString());

flag=sum;}

publicvoidselect(){

if(choice.getSelectedItem()

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 职业技术培训

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1