Java课程设计 通讯录的制作.docx

上传人:b****3 文档编号:10532055 上传时间:2023-05-26 格式:DOCX 页数:27 大小:238.15KB
下载 相关 举报
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_第6页
第6页 / 共27页
Java课程设计 通讯录的制作.docx_第7页
第7页 / 共27页
Java课程设计 通讯录的制作.docx_第8页
第8页 / 共27页
Java课程设计 通讯录的制作.docx_第9页
第9页 / 共27页
Java课程设计 通讯录的制作.docx_第10页
第10页 / 共27页
Java课程设计 通讯录的制作.docx_第11页
第11页 / 共27页
Java课程设计 通讯录的制作.docx_第12页
第12页 / 共27页
Java课程设计 通讯录的制作.docx_第13页
第13页 / 共27页
Java课程设计 通讯录的制作.docx_第14页
第14页 / 共27页
Java课程设计 通讯录的制作.docx_第15页
第15页 / 共27页
Java课程设计 通讯录的制作.docx_第16页
第16页 / 共27页
Java课程设计 通讯录的制作.docx_第17页
第17页 / 共27页
Java课程设计 通讯录的制作.docx_第18页
第18页 / 共27页
Java课程设计 通讯录的制作.docx_第19页
第19页 / 共27页
Java课程设计 通讯录的制作.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Java课程设计 通讯录的制作.docx

《Java课程设计 通讯录的制作.docx》由会员分享,可在线阅读,更多相关《Java课程设计 通讯录的制作.docx(27页珍藏版)》请在冰点文库上搜索。

Java课程设计 通讯录的制作.docx

Java课程设计通讯录的制作

 

软件学院

课程设计报告书

 

课程名称面向对象程序设计

设计题目个人通讯录管理

专业班级软件工程10-01

学号10200101

姓名李

指导教师刘

 

2012年6月

1设计时间1

2设计目的1

3设计任务1

4设计内容1

4.1需求分析1

4.1.1问题描述1

4.1.2基本要求1

4.2总体设计2

4.2.1包的描述2

4.2.2类的描述2

4.2.3类之间的关系2

4.3详细设计2

4.3.1类图2

4.3.2页面设计5

4.4测试与分析7

4.5程序代码8

5总结与展望24

参考文献25

1设计时间

2012年6月13日至2012年6月19日

2设计目的

面向对象程序设计课程设计是软件工程专业集中实践性环节之一,是学习完《java6程序设计》课程后进行的一次全面的综合练习。

其目的在于加深对java基础理论和基本知识的理解,掌握使用java进行软件设计的基本方法,提高解决实际问题的能力,最终实现对于给定的应用要求,设计出满足要求的程序,使之满足各种用户的应用需求(信息要求和处理要求)。

同时,此次设计对于同学将来的毕业设计和具体工作实践将有重要的意义。

3设计任务

设计通讯录,满足通讯录使用的基本要求,包括对联系人的添加、查询、删除、以及备份。

使通讯录以窗口形式呈现,并使每一功能均以窗口形式完成。

4设计内容

4.1需求分析

设计简易通讯录程序,实现基本通讯录功能(查询,插入,删除,备份)。

具体需求如下:

1.通讯录窗口界面布局设计。

2.各种基本功能的算法分析。

3.编程实现具体功能。

4.运行测试程序,调试纠正运行错误。

5.调试无误,运行,测试具体功能,

4.1.1问题描述

设计通讯录总窗口界面,并显示所有联系人及联系方式。

通过点击总窗口界面上的按钮,实施各基本功能。

同时根据所做操作,实时更新总窗口界面的联系人。

4.1.2基本要求

在本程序中,设计一个文本区域和一个按钮区域。

设计过程中利用最基本AWT界面开发,Java语言程序设计结合组件、容器、框架、事件监听等相关知识,完成一个关于通讯录的界面制作,能够实现对通讯录的基本操作,包括插入、删除、查找、查询。

4.2总体设计

4.2.1包的描述

1.包beifen实现对所有联系人的备份功能。

2.包charu实现对新联系人的创建及插入功能。

3.包chazhao实现对指定联系人的查找功能。

4.包shanchu实现对指定联系人的删除功能。

5.包wu实现提示信息对话框。

6.包chenggong实现提示信息对话框。

7.包filegui实现总窗口界面。

4.2.2类的描述

1.类Beifen实现对所有联系人的备份功能。

2.类Charu实现对新联系人的创建及插入功能。

3.类Chazhao实现对指定联系人的查找功能。

4.类Shanchu实现对指定联系人的删除功能。

5.类Wu实现提示信息对话框。

6.类Chenggong实现提示信息对话框。

7.类FileGUI实现总窗口界面。

4.2.3类之间的关系

各类均为JPanel的子类,类FileGUI引用类Beifen、Charu、Chazhao、Shanchu,类Beifen引用类Chenggong,类Chazhao、Shanchu均引用类Wu。

4.3详细设计

4.3.1类图

表1

Wu类

方法

Main()

表2

Chenggong类

方法

Main()

表3

Beifen类

属性

JFrameframe

JButtonjb1

JButtonjb2

JTextFieldjtf

方法

Main()

publicBeifen()

privateJPanelpart1()

privateJPanelpart2()

表4

Charu类

属性

Stringstr1,str2,str3,str0

JTextFieldjtf1

JTextFieldjtf2

JTextFieldjtf3

JButtonjb1

JButtonjb2

JFrameframe

JTextAreacrjta

方法

Main()

publicCharu()

privateJPanelpart1()

privateJPanelpart2()

privateJPanelpart3()

privateJPanelpart4()

表5

Chazhao类

属性

JFrameframe

JTextFieldjtf1

JTextFieldjtf2

JButtonjb1

JButtonjb2

方法

Main()

publicChazhao()

privateJPanelpart1()

privateJPanelpart1()

privateJPanelpart1()

表6

Shanchu类

属性

JFrameframe

JTextAreajta

JTextFieldjtf

JButtonjb1

JButtonjb2

方法

Main()

publicShanchu()

privateJPanelpart1()

privateJPanelpart2()

publicvoidSCjta(JTextAreaj)

表7

FileGUI类

属性

JButtonbutton1,jbutton2,jbutton3,jbutton4

JPaneljp1,jp2

JTextAreajta

Containercon

方法

Main()

publicFileGUI()

4.3.2页面设计

1.总界面窗口

2.插入窗口

3.删除窗口

4.查找窗口

5.备份窗口

4.4测试与分析

1.测试插入

2.测试删除

3.测试查找

4.测试备份

4.5程序代码

packagewu;

importjava.awt.*;

importjavax.swing.*;

importjava.awt.event.*;

publicclassWuextendsJPanel{

publicWu(){

JOptionPane.showMessageDialog(null,"查无此人!

","Dialog",JOptionPane.INFORMATION_MESSAGE);

}

}

packagewancheng;

importjava.awt.*;

importjavax.swing.*;

importjava.awt.event.*;

publicclassWanchengextendsJPanel{

publicWancheng(){

JOptionPane.showMessageDialog(null,"已成功备份!

","Dialog",JOptionPane.INFORMATION_MESSAGE);

}

}

packagebeifen;

importwancheng.Wancheng;

importjava.awt.Container;

importjavax.swing.*;

importjava.awt.event.*;

importjava.io.*;

publicclassBeifenextendsJPanel{

JFrameframe;

JButtonjb1;

JButtonjb2;

JTextFieldjtf;

publicBeifen(){

frame=newJFrame("Copy");

frame.setSize(300,120);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Containercon=frame.getContentPane();

JPanelmpanel=newJPanel();

mpanel.add(part1());

mpanel.add(part2());

con.add(mpanel);

frame.setVisible(true);

jb1.addActionListener(newAction());

jb2.addActionListener(newAction());

}

privateJPanelpart1()

{

JPanelpanel=newJPanel();

panel.add(newJLabel("path:

"));

panel.add(jtf=newJTextField(20));

panel.setVisible(true);

returnpanel;

}

privateJPanelpart2()

{

JPanelpanel=newJPanel();

panel.add(jb1=newJButton("确定"));

panel.add(jb2=newJButton("取消"));

panel.setVisible(true);

returnpanel;

}

classActionimplementsActionListener{

publicvoidactionPerformed(ActionEvente){

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

try{

Filefile=newFile("D:

\\lianxiren.txt");

String[]str=newString[20];

BufferedReaderbr=newBufferedReader(newFileReader(file));

inti=0;

Stringline;

while((line=br.readLine())!

=null){

str[i]=line;

i++;

}

Stringstring="";

string=jtf.getText();

Filef=newFile(string);

FileWriterfw=newFileWriter(f,true);

for(intk=0;k

fw.write(str[k]);

fw.write("\r\n");

}

fw.close();

newWancheng();

}

catch(Exceptione1){

System.out.println(e1);

}

}

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

frame.dispose();

}

}

}

}

packagecharu;

importjava.awt.Container;

importjavax.swing.*;

importjava.awt.event.*;

importjava.io.*;

publicclassCharuextendsJPanel{

Stringstr1="",str2="",str3="",str0="";

JTextFieldjtf1=newJTextField(20);

JTextFieldjtf2=newJTextField(20);

JTextFieldjtf3=newJTextField(20);

JButtonjb1;

JButtonjb2;

JFrameframe;

JTextAreacrjta;

privateJPanelpart1(){

JPanelpanel=newJPanel();

panel.add(newJLabel("name:

"));

panel.add(jtf1=newJTextField(20));

panel.setVisible(true);

returnpanel;

}

privateJPanelpart2()

{

JPanelpanel=newJPanel();

panel.add(newJLabel("num:

"));

panel.add(jtf2=newJTextField(20));

panel.setVisible(true);

returnpanel;

}

privateJPanelpart3()

{

JPanelpanel=newJPanel();

panel.add(newJLabel("e-mail:

"));

panel.add(jtf3=newJTextField(20));

panel.setVisible(true);

returnpanel;

}

privateJPanelpart4(){

JPanelpanel=newJPanel();

panel.add(jb1=newJButton("确定"));

panel.add(jb2=newJButton("完成"));

panel.setVisible(true);

returnpanel;

}

publicCharu(){

frame=newJFrame("Insert");

frame.setSize(300,200);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Containercon=frame.getContentPane();

JPanelmpanel=newJPanel();

mpanel.add(part1());

mpanel.add(part2());

mpanel.add(part3());

mpanel.add(part4());

con.add(mpanel);

frame.setVisible(true);

jb1.addActionListener(newAction());

jb2.addActionListener(newAction());

}

classActionimplementsActionListener{

publicvoidactionPerformed(ActionEvente){

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

str1=jtf1.getText();

str2=jtf2.getText();

str3=jtf3.getText();

try{

Filefile=newFile("D:

\\lianxiren.txt");

FileWriterfw=newFileWriter(file,true);

fw.write(str1);

fw.write(str2);

fw.write(str3);

fw.write("\r\n");

fw.close();

FileReaderraf=newFileReader(file);

charch[]=newchar[(int)file.length()];

while((raf.read(ch))!

=-1){

str0=newString(ch);

}

crjta.setText(str0);

}

catch(Exceptione1){

System.out.println(e1);

}

}

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

frame.dispose();

}

}

}

publicvoidCRjta(JTextAreajta){

crjta=jta;

}

}

packagechazhao;

importwu.Wu;

importjava.awt.Container;

importjavax.swing.*;

importjava.awt.event.*;

importjava.io.*;

publicclassChazhaoextendsJPanel

{

JFrameframe;

JTextFieldjtf1;

JTextFieldjtf2;

JButtonjb1;

JButtonjb2;

publicChazhao()

{

frame=newJFrame("Seek");

frame.setSize(370,150);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JPanelmpanel=newJPanel();

Containercon=frame.getContentPane();

mpanel.add(part1());

mpanel.add(part3());

mpanel.add(part2());

con.add(mpanel);

frame.setVisible(true);

jb1.addActionListener(newaction());

jb2.addActionListener(newaction());

}

privateJPanelpart1()

{

JPanelpanel=newJPanel();

panel.add(newJLabel("name:

"));

panel.add(jtf1=newJTextField(20));

panel.setVisible(true);

returnpanel;

}

privateJPanelpart2()

{

JPanelpanel=newJPanel();

panel.add(jb1=newJButton("确定"));

panel.add(jb2=newJButton("取消"));

panel.setVisible(true);

returnpanel;

}

privateJPanelpart3()

{

JPanelpanel=newJPanel();

panel.add(newJLabel("message:

"));

panel.add(jtf2=newJTextField(25));

panel.setVisible(true);

returnpanel;

}

classActionimplementsActionListener{

publicvoidactionPerformed(ActionEvente){

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

try{

Filefile=newFile("D:

\\lianxiren.txt");

Stringstring="";

string=jtf1.getText();

String[]str=newString[20];

BufferedReaderbr=newBufferedReader(newFileReader(file));

inti=0;

Stringline;

while((line=br.readLine())!

=null){

str[i]=line;

i++;

}

intj;

for(j=i-1;j>=0;j--){

if(str[j].startsWith(string)){

jtf2.setText(str[j]);

break;

}

}

if(j<0){

newWu();

}

}

catch(Exceptione1){

System.out.println(e1);

}

}

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

frame.dispose();

}

}

}

}

packageshanchu;

importwu.Wu;

importjava.awt.Container;

importjavax.swing.*;

importjava.awt.event.*;

importjava.io.*;

publicclassShanchuextendsJPanel{

JFrameframe;

JTextAreajta;

JTextFieldjtf;

JButtonjb1;

JButtonjb2;

publicShanchu(){

frame=newJFrame("Delete");

frame.setSize(300,120);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Containercon=frame.getContentPane();

JPanelmpanel=newJPanel();

mpanel.add(part1());

mpanel.add(part2());

con.add(mpanel);

frame.setVisible(true);

jb1.addActionListener(newAction());

jb2.addActionListener(newAction());

}

privateJPanelpart1()

{

JPanelpanel=newJPanel();

panel.add(newJLabel("name:

"));

panel.add(jtf=newJTextField(20));

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

当前位置:首页 > PPT模板 > 可爱清新

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2