JAVA通讯录内含源代码Word下载.docx
- 文档编号:17520667
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:37
- 大小:651.53KB
JAVA通讯录内含源代码Word下载.docx
《JAVA通讯录内含源代码Word下载.docx》由会员分享,可在线阅读,更多相关《JAVA通讯录内含源代码Word下载.docx(37页珍藏版)》请在冰豆网上搜索。
1、对系统进展功能模块分析、功能模块分析正确;
2、系统设计要有经济价值,要实用;
3、编程简练,可用,功能全面,具有较好的健壮性;
4、系统界面外观和布局,可个性化设计,总体原如此是“界面简洁、操作便捷〞;
5、说明书、流程图要清楚;
6、应用程序打包发布。
四,设计思路
1程序设计总体思路
通讯录的功能模块有:
〔1〕提供显示主界面,方便用户操作,满足需求;
〔2〕添加:
可以添加通讯录好友分组和好哦与信息,依次输入某某、性别、手机、固定、地址、组别、归属组等;
〔3〕显示:
可以显示输出所有通讯录里信息;
〔4〕查询:
可以用某某查询;
〔5〕修改:
输入欲修改的那个人的名字后,再依次输入某某、性别、、手机、地址、组别、可完成修改,也可以修改组名;
〔6〕删除:
可以直接删除好友分组与里面的好友,也可以单独删除好友;
〔7〕帮助:
可以在帮助里面;
程序分为多个小模块,通过调用实现各种功能,增强了程序的可建设性。
2程序设计总体框图
点击运行系统,进入主界面进展操作组和好友的操作;
点击组操作,进入界面,进展组添加,组修改,组删除以与退出的操作。
点击好友操作,进入界面,进展好友的添加,好友查询,好友修改,好友删除的操作。
组操作:
点击添加组的操作,进入界面,进展组的添加。
点击删除组的操作,进入界面,进展组的删除。
点击修改组名的操作,进入界面,进展组的修改。
好友操作:
点击好友添加的操作,进入界面,进展好友的添加。
点击好友查询的操作,进入界面,进展好友的查询。
点击好友删除的操作,进入界面,进展好友的删除。
点击好友修改信息的操作,进入界面,进展好友的修改信息。
4.详细设计
该程序共有8个类,但只创建了1个java源程序文件,以下按照类的名字先后解释〔在设计软件MyEclipse工程排序也是如此〕,另外在此只是简要介绍相关源程序所实现的功能,程序截图参见调试,源程序参见附录:
MainFrame类做的是功能表中主界面的功能,使用此项功能的时候,在点击“显示查询结果〞后,让界面显示出操作内容;
点击“退出〞的时候退出该功能。
Addgroup类做的就是“增加分组〞的界面,上面有标题、文字显示框和两个控制按钮——“增加分组〞和“退出〞。
Deletegroup类做的是“删除分组〞的界面,有一个文字输入框〔提供按名字来删除〕,和两个控制按钮——“删除〞和“退出〞。
Revisegroup类做的是“修改〞的相关功能,当输入名字之后会进展修改,,两个控制按钮——“修改〞和“退出〞。
Searchfriend类做的是“编辑—查询好友〞的界面,提供按名字搜索,有一个文字输入框,和两个控制按钮——“查询〞和“退出〞。
Addfriend类做的是“编辑—增加好友〞的界面,输入需要增加的某某,,手机,住址,性别,归属组之后,两个控制按钮——“增加〞和“退出〞。
ReviseFriendname类做的是“修改好友名字〞的界面,有一个文字输入框提供输入路径,两个控制按钮——“修改〞和“退出〞。
Deletefriend类做的是“删除好友〞的界面,输入了完整路径之后,有一个文字输入框提供输入路径,两个控制按钮——“删除〞和“退出〞。
五,测试运行
1系统测试方案:
进入主界面功能的一系列测试:
组界面:
测试方法如下
测试内容
测试方法
添加组
点击组操作,添加组,输入相关信息并添加,并在主界面点刷新
删除组
点击组操作,删除组,输入要删除组的名称,点击删除,并在主界面点刷新
修改组名
点击组操作,修改组名,输入要修改组的预案名称和新组名,并点击修改,并在主界面点刷新
好友界面:
添加好友
点击好友操作,添加好友,输入相关好友信息并添加,并在组界面点击刷新
查询好友
点击好友操作,输入要查询好友的名字,并且可以修改好友信息
修改好友
点击好友操作,输入要修改好友的某某,出现好友信息界面,修改原有的数据,点击修改,并在主界面点刷新
删除好友
点击好友操作,输入要删除好友的某某,点击删除,并在主界面点击刷新
2,运行结果
1、运行程序,出现主界面,如如下图:
3增加组:
同学
增加成功:
如如下图所示
删除成功:
5.修改组:
将同学改为同事
修改组名成功:
6.增加好友:
分别在不同的两个组增加一个人
添加好友成功:
7.查询好友:
对同事中的周杰伦和好友中的她她她分别查询
查询结果:
如下列图
查询她她她:
如如下图
8.修改好友:
对周杰伦进展修改,改成许嵩
修改成功:
9.删除好友:
对许嵩进展删除
删除成功:
六、总结
经过几天的努力,本次课程设计已圆满完成。
在这期间,我深深地感受到设计成功的喜悦,也体味到失败的痛苦。
好在前面的学习过程中,理论知识学得比拟深刻,加之教师和同学的帮助,很快适应了软件开发的流程。
课程设计确实能够锻炼一个人在遇到一个不懂的问题时候,怎样去查阅资料,使一个个疑难问题迎刃而解。
这对我以后的工作有非常大的意义。
在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。
在设计过程中,和同学们相互探讨,相互学习。
学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。
课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程.〞千里之行始于足下〞,通过这次课程设计,我深深体会到这句千古名言的真正含义.我今天认真的进展课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的根底.
源代码:
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
publicclassMainFrameextendsJFrameimplementsActionListener{
JTextAreatxt;
JMenuBarmb;
JMenumenu1;
JMenumenu2;
JMenumenu3;
uttonbtn1;
uttonbtn2;
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=newutton("
刷新"
btn2=newutton("
退出"
Object[]o=newObject[]{"
亲人"
"
老爸"
老妈"
朋友"
X三"
李四"
};
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){
elseif(e.getSource()==btn1){
txt.setText("
"
for(intf=0;
f<
i;
f++){
txt.append(str[f]+"
\n"
for(ints=0;
s<
j;
s++){
if(str[f].equals(str6[s])){
txt.append("
"
+str1[s]+"
}
}
}
//增加组界面
publicclassAddgroupextendsJFrameimplementsActionListener{
JLabellabel;
JTextFielduTxt;
uttonbtn1,btn2;
Addgroup(){
this.setSize(400,300);
this.setTitle("
增加组"
this.setLayout(null);
label=newJLabel("
组名"
uTxt=newJTextField(20);
btn1=newutton("
增加"
btn2=newutton("
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()+"
+str[i]);
i++;
this.dispose();
}else{
if(e.getSource()==btn2){
this.dispose();
//删除组界面
publicclassDeletegroupextendsJFrameimplementsActionListener{
Deletegroup(){
删除"
label.setBounds(110,100,60,30);
uTxt.setBounds(150,100,120,30);
btn1.setBounds(100,200,60,30);
btn2.setBounds(210,200,60,30);
for(intt=0;
t<
t++){
if(str[t].equals(uTxt.getText())){
for(intv=t;
v<
v++){
str[v]=str[v+1];
}
i--;
if(e.getSource()==btn2){
//修改组界面
publicclassRevisegroupextendsJFrameimplementsActionListener{
JLabellabel1,label2;
JTextFielduTxt1,uTxt2;
Revisegroup(){
label1=newJLabel("
新组名"
label2=newJLabel("
原组名"
uTxt1=newJTextField(20);
uTxt2=newJTextField(20);
修改"
label1.setBounds(80,60,60,30);
label2.setBounds(80,110,60,30);
uTxt1.setBounds(130,60,140,30);
uTxt2.setBounds(130,110,140,30);
this.add(label1);
this.add(label2);
this.add(uTxt1);
this.add(uTxt2);
if(uTxt2.getText().equals(str[t])){
str[t]=uTxt1.getText();
str6[t]=uTxt2.getText();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 通讯录 内含 源代码