JAVA通讯录内含源代码.docx

上传人:b****6 文档编号:6776929 上传时间:2023-01-10 格式:DOCX 页数:38 大小:651.71KB
下载 相关 举报
JAVA通讯录内含源代码.docx_第1页
第1页 / 共38页
JAVA通讯录内含源代码.docx_第2页
第2页 / 共38页
JAVA通讯录内含源代码.docx_第3页
第3页 / 共38页
JAVA通讯录内含源代码.docx_第4页
第4页 / 共38页
JAVA通讯录内含源代码.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

JAVA通讯录内含源代码.docx

《JAVA通讯录内含源代码.docx》由会员分享,可在线阅读,更多相关《JAVA通讯录内含源代码.docx(38页珍藏版)》请在冰豆网上搜索。

JAVA通讯录内含源代码.docx

JAVA通讯录内含源代码

JAVA课程设计实验报告

 

 

学校:

江西农业大学

班级:

软件1115班

*******

学号:

********

课程:

JAVA通讯录

*******

 

2012.12.29

一、设计目的

本课程设计是java语言学习中很重要的实践性环节之一,是在学习完java课程后进行的一次全面的综合练习旨在巩固和加深我们对java语言的基本知识的理解和掌握,掌握java语言编程和程序调试的基本技能,利用java语言进行基本的软件设计,掌握书写程序设计说明文档的能力,提高运用java语言解决实际问题的能力。

、掌握类的定义及应用方法

、掌握对象的创建方法,了解实例变量、实例方法和静态字段的特征

、体会java在中类和对象的面向对象的设计思想

二、实验内容

本次课程设计是开发一个简易的、小型的通讯录,我们命名为“通讯录”。

通讯录保存在计算机中,便于分组,还便于增加、修改、删除好友信息。

设计一个通讯录管理软件,要求如下:

增加组、删除组、修改组、查询好友、添加好友、修改好友,删除好友,退出。

通讯录好友信息包括:

姓名,电话,手机,住址,性别等。

(1)通讯录的每一条信息包括姓名,电话,电话;

(2)输入功能:

可以一次完成若干条信息的输入;

(3)显示功能:

完成全部通讯录信息的显示(可现实多个好友和好友分组);

(4)查找功能:

完成按姓名查找通讯信息;

(5)删除功能:

完成按姓名删除通讯信息;

(6)应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!

三、实验要求

1、对系统进行功能模块分析、功能模块分析正确;

2、系统设计要有经济价值,要实用;

3、编程简练,可用,功能全面,具有较好的健壮性;

4、系统界面外观和布局,可个性化设计,总体原则是“界面简洁、操作便捷”;

5、说明书、流程图要清楚;

6、应用程序打包发布。

四,设计思路

1程序设计总体思路

通讯录的功能模块有:

(1)提供显示主界面,方便用户操作,满足需求;

(2)添加:

可以添加通讯录好友分组和好哦与信息,依次输入姓名、性别、手机、固定电话、地址、组别、归属组等;

(3)显示:

可以显示输出所有通讯录里信息;

(4)查询:

可以用姓名查询;

(5)修改:

输入欲修改的那个人的名字后,再依次输入姓名、性别、电话、手机、地址、组别、可完成修改,也可以修改组名;

(6)删除:

可以直接删除好友分组及里面的好友,也可以单独删除好友;

(7)帮助:

可以在帮助里面;

程序分为多个小模块,通过调用实现各种功能,增强了程序的可建设性。

2程序设计总体框图

 

 

3.功能模块设计

点击运行系统,进入主界面进行操作组和好友的操作;

点击组操作,进入界面,进行组添加,组修改,组删除以及退出的操作。

点击好友操作,进入界面,进行好友的添加,好友查询,好友修改,好友删除的操作。

组操作:

点击添加组的操作,进入界面,进行组的添加。

点击删除组的操作,进入界面,进行组的删除。

点击修改组名的操作,进入界面,进行组的修改。

好友操作:

点击好友添加的操作,进入界面,进行好友的添加。

点击好友查询的操作,进入界面,进行好友的查询。

点击好友删除的操作,进入界面,进行好友的删除。

点击好友修改信息的操作,进入界面,进行好友的修改信息。

4.详细设计

该程序共有8个类,但只创建了1个java源程序文件,以下按照类的名字先后解释(在设计软件MyEclipse工程排序也是如此),另外在此只是简要介绍相关源程序所实现的功能,程序截图参见调试,源程序参见附录:

MainFrame类做的是功能表中主界面的功能,使用此项功能的时候,在点击“显示查询结果”后,让界面显示出操作内容;点击“退出”的时候退出该功能。

Addgroup类做的就是“增加分组”的界面,上面有标题、文字显示框和两个控制按钮——“增加分组”和“退出”。

Deletegroup类做的是“删除分组”的界面,有一个文字输入框(提供按名字来删除),和两个控制按钮——“删除”和“退出”。

Revisegroup类做的是“修改”的相关功能,当输入名字之后会进行修改,,两个控制按钮——“修改”和“退出”。

Searchfriend类做的是“编辑—查询好友”的界面,提供按名字搜索,有一个文字输入框,和两个控制按钮——“查询”和“退出”。

Addfriend类做的是“编辑—增加好友”的界面,输入需要增加的姓名,电话,手机,住址,性别,归属组之后,两个控制按钮——“增加”和“退出”。

ReviseFriendname类做的是“修改好友名字”的界面,有一个文字输入框提供输入路径,两个控制按钮——“修改”和“退出”。

Deletefriend类做的是“删除好友”的界面,输入了完整路径之后,有一个文字输入框提供输入路径,两个控制按钮——“删除”和“退出”。

五,测试运行

1系统测试方案:

1.1进入主界面功能的一系列测试:

组界面:

测试方法如下

测试内容

测试方法

添加组

点击组操作,添加组,输入相关信息并添加,并在主界面点刷新

删除组

点击组操作,删除组,输入要删除组的名称,点击删除,并在主界面点刷新

修改组名

点击组操作,修改组名,输入要修改组的预案名称和新组名,并点击修改,并在主界面点刷新

1.2好友界面:

测试方法如下

测试内容

测试方法

添加好友

点击好友操作,添加好友,输入相关好友信息并添加,并在组界面点击刷新

查询好友

点击好友操作,输入要查询好友的名字,并且可以修改好友信息

修改好友

点击好友操作,输入要修改好友的姓名,出现好友信息界面,修改原有的数据,点击修改,并在主界面点刷新

删除好友

点击好友操作,输入要删除好友的姓名,点击删除,并在主界面点击刷新

2,运行结果

1、运行程序,出现主界面,如下图:

2.组操作下拉菜单

3增加组:

同学

增加成功:

如下图所示

4.删除组

删除成功:

如下图所示

5.修改组:

将同学改为同事

修改组名成功:

如下图所示

6.增加好友:

分别在不同的两个组增加一个人

 

 

 

添加好友成功:

如下图所示

7.查询好友:

对同事中的周杰伦和好友中的她她她分别查询

查询结果:

如图所示

 

查询她她她:

如下图

8.修改好友:

对周杰伦进行修改,改成许嵩

修改成功:

如下图

9.删除好友:

对许嵩进行删除

删除成功:

如下图所示

六、总结

经过几天的努力,本次课程设计已圆满完成。

在这期间,我深深地感受到设计成功的喜悦,也体味到失败的痛苦。

好在前面的学习过程中,理论知识学得比较深刻,加之老师和同学的帮助,很快适应了软件开发的流程。

课程设计确实能够锻炼一个人在遇到一个不懂的问题时候,怎样去查阅资料,使一个个疑难问题迎刃而解。

这对我以后的工作有非常大的意义。

在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。

在设计过程中,和同学们相互探讨,相互学习。

学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。

课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程.”千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义.我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础.

源代码:

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

publicclassMainFrameextendsJFrameimplementsActionListener{

JTextAreatxt;

JMenuBarmb;

JMenumenu1;

JMenumenu2;

JMenumenu3;

JButtonbtn1;

JButtonbtn2;

JListlist;

inti=0;

intk=0;

intj=0;

intm=0;

intt=0;

Stringstr[]=newString[100];

Stringstr1[]=newString[100];//姓名

Stringstr2[]=newString[100];//手机

Stringstr3[]=newString[100];//电话

Stringstr4[]=newString[100];//地址

booleanstr5[]=newboolean[100];//性别

Stringstr6[]=newString[100];//归属

JMenuItemitem1;JMenuItemitem2;JMenuItemitem3;JMenuItemitem4;

JMenuItemitem5;JMenuItemitem6;JMenuItemitem7;JMenuItemitem8;

MainFrame(){//主界面

this.setTitle("通讯录");

this.setSize(300,500);

this.setLocation(200,100);

this.setLayout(null);

txt=newJTextArea(30,60);

btn1=newJButton("刷新");

btn2=newJButton("退出");

Object[]o=newObject[]{"亲人","老爸","老妈","朋友","张三","李四"};

list=newJList(o);

list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

mb=newJMenuBar();

menu1=newJMenu("组操作");

item1=newJMenuItem("添加组");item2=newJMenuItem("删除组");

item3=newJMenuItem("修改组");item4=newJMenuItem("退出");

menu2=newJMenu("好友操作");

item5=newJMenuItem("查询好友");item6=newJMenuItem("添加好友");

item7=newJMenuItem("修改好友");item8=newJMenuItem("删除好友");

menu3=newJMenu("帮助");

mb.add(menu1);mb.add(menu2);mb.add(menu3);

menu1.add(item1);menu1.add(item2);menu1.add(item3);menu1.add(item4);

menu2.add(item5);menu2.add(item6);menu2.add(item7);menu2.add(item8);

txt.setBounds(20,140,250,230);

btn1.setBounds(30,400,60,30);

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

list.setBounds(20,20,250,120);

this.setJMenuBar(mb);

this.add(list);

this.add(txt);

this.add(btn1);

this.add(btn2);

item1.addActionListener(this);

item2.addActionListener(this);

item3.addActionListener(this);

item4.addActionListener(this);

item5.addActionListener(this);

item6.addActionListener(this);

item7.addActionListener(this);

item8.addActionListener(this);

btn1.addActionListener(this);

btn2.addActionListener(this);

this.setVisible(true);

this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);

}

publicstaticvoidmain(String[]args){

newMainFrame();

}

publicvoidactionPerformed(ActionEvente){

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

newAddgroup();

}

elseif(e.getSource()==item2){

newDeletegroup();

}

elseif(e.getSource()==item3){

newRevisegroup();

}

elseif(e.getSource()==item4){

System.exit(0);

}

elseif(e.getSource()==item5){

newSearchfriend();

}

elseif(e.getSource()==item6){

newAddfriend();

}

elseif(e.getSource()==item7){

newReviseFriendname();

}

elseif(e.getSource()==item8){

newDeletefriend();

}

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

System.exit(0);

}

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

txt.setText("");

for(intf=0;f

txt.append(str[f]+"\n");

for(ints=0;s

if(str[f].equals(str6[s])){

txt.append(""+str1[s]+"\n");

}

}

}

}

}

//增加组界面

publicclassAddgroupextendsJFrameimplementsActionListener{

JLabellabel;

JTextFielduTxt;

JButtonbtn1,btn2;

Addgroup(){

this.setSize(400,300);

this.setTitle("增加组");

this.setLayout(null);

label=newJLabel("组名");

uTxt=newJTextField(20);

btn1=newJButton("增加");

btn2=newJButton("退出");

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

uTxt.setBounds(130,80,130,30);

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

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

this.add(label);

this.add(uTxt);

this.add(btn1);

this.add(btn2);

btn1.addActionListener(this);

btn2.addActionListener(this);

this.setLocationRelativeTo(null);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

publicvoidactionPerformed(ActionEvente){

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

str[i]=uTxt.getText();

txt.setText(txt.getText()+"\n"+str[i]);

i++;

this.dispose();

}else{

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

this.dispose();

}

}

}

}

//删除组界面

publicclassDeletegroupextendsJFrameimplementsActionListener{

JLabellabel;

JTextFielduTxt;

JButtonbtn1,btn2;

Deletegroup(){

this.setSize(400,300);

this.setTitle("删除组");

this.setLayout(null);

label=newJLabel("组名");

uTxt=newJTextField(20);

btn1=newJButton("删除");

btn2=newJButton("退出");

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

uTxt.setBounds(150,100,120,30);

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

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

btn1.addActionListener(this);

btn2.addActionListener(this);

this.add(label);

this.add(btn1);

this.add(btn2);

this.add(uTxt);

this.setLocationRelativeTo(null);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

publicvoidactionPerformed(ActionEvente){

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

for(intt=0;t

if(str[t].equals(uTxt.getText())){

for(intv=t;v

str[v]=str[v+1];

}

i--;

}

}

this.dispose();

}

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

this.dispose();

}

}

}

//修改组界面

publicclassRevisegroupextendsJFrameimplementsActionListener{

JLabellabel1,label2;

JTextFielduTxt1,uTxt2;

JButtonbtn1,btn2;

Revisegroup(){

this.setSize(400,300);

this.setTitle("修改组");

this.setLayout(null);

label1=newJLabel("新组名");

label2=newJLabel("原组名");

uTxt1=newJTextField(20);

uTxt2=newJTextField(20);

btn1=newJButton("修改");

btn2=newJButton("退出");

label1.setBounds(80,60,60,30);

label2.setBounds(80,110,60,30);

uTxt1.setBounds(130,60,140,30);

uTxt2.setBounds(130,110,140,30);

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

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

this.add(label1);

this.add(label2);

this.add(uTxt1);

this.add(uTxt2);

this.add(btn1);

this.add(btn2);

btn1.addActionListener(this);

btn2.addActionListener(this);

this.setLocationRelativeTo(null);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

publicvoidactionPerformed(ActionEvente){

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

for(intt=0;t

if(uTxt2.getText().equals(str[t])){

str[t]=uTxt1.getText()

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

当前位置:首页 > 工程科技 > 城乡园林规划

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

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