面向对象程序设计课程设计--个人通讯录管理
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
findallbutton.addActionListener(new findall());
exportbutton.addActionListener(new export());
/*容器设置*/
con.add(pane);//添加面板
3.输入需要查询的联系人姓名,可以查询联系人的信息。
4.输入需要删除的联系人姓名,可以删除联系人。
5.可以查询全部联系人信息。
6.可以备份全部联系人的信息。
4.2总体设计
1.java.awt包,包含构成抽象窗口的工具集(abstract window toolkit)的多
个类,用来构建和管理应用程序的图形用户界面(GUI)。
combobox=new JComboBox(items);
sexlabel=new JLabel("性别:",SwingConstants.CENTER);
manradiobutton=new JRadioButton("男");
womanradiobutton=new JRadioButton("女");
软件学院
课程设计报告书
课程名称面向对象程序设计
设计题目个人通讯录管理
专业班级软件10-6班
2012年06月
目录
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
pane8.add(findbutton);
pane9=new JPanel(new FlowLayout(FlowLayout.CENTER,1,1));
pane9.add(dnamelabel);
pane9.add(delfield);
pane10=new JPanel(new FlowLayout(FlowLayout.CENTER,1,1));
tellabel=new JLabel("联系方式:",SwingConstants.CENTER);
telfield=new JTextField();
telfield.setColumns(10);
emaillabel=new JLabel("E-mail:",SwingConstants.CENTER);
JComboBox combobox;
JRadioButton manradiobutton,womanradiobutton;
JMenuBar menubar;
JMenu filemenu,helpmenu;
JMenuItem item1,item2,item3;
ButtonGroup group=new ButtonGroup();
/*添加控件*/
pane.setLayout(new GridLayout(6,2));
pane.add(pane1);
pane.add(pane7);
pane.add(pane2);
pane.add(pane8);
pane.add(pane3);
pane.add(pane9);
pane.add(pane4);
delbutton=new JButton("删除");
findallbutton=new JButton("查看全部联系人信息");
exportbutton=new JButton("导出全部联系人信息");
/*菜单*/
menubar=new JMenuBar();
filemenu=new JMenu("文件");
filemenu.add(item1);
filemenu.add(item2);
helpmenu.add(item3);
setJMenuBar(menubar);
menubar.setVisible(true);
/*每个面板添加控件*/
pane1=new JPanel(new FlowLayout(FlowLayout.CENTER,1,1));
图11
5.导出联系人信息(见图12)
图12
4.5程序代码
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.io.*;
public class Address_Book extends JFrame {
pane6.add(addbutton);
pane7=new JPanel(new FlowLayout(FlowLayout.CENTER,1,1));
pane7.add(fnamelabel);
pane7.add(findfield);
pane8=new JPanel(new FlowLayout(FlowLayout.CENTER,1,1));
Containercon,pane,pane1,pane2,pane3,pane4,pane5,pane6,pane7,
pane8,pane9,pane10,pane11,pane12;
JLabel namelabel,numberlabel,sexlabel,nativelabel,tellabel,emaillabel,
pane4.add(tellabel);
pane4.add(telfield);
pane5=new JPanel(new FlowLayout(FlowLayout.CENTER,1,1));
pane5.add(emaillabel);
pane5.add(emailfield);
pane6=new JPanel(new FlowLayout(FlowLayout.CENTER,1,1));
2.javax.swing包,扩充和增强图形用户界面功能。
3.java.awt.event包,提供接口和类来处理不同类型的事件触发的AWT组件。
4.java.io包,提供输入输出。
1.Address_Book类,包含了程序的入口函数。
2.exit类,内部类,实现了程序的退出。
3.about类,内部类,显示文件的基本信息。
编程实现个人通讯录管理(用文件存储)。主要提供如下功能:
1.增加记录
2.删除记录
3.显示所有记录
4.查询记录
5.文件备份
6.退出
通讯录记录信息包括:姓名,电话,email等信息
4.1需求分析
添加通讯录的信息,还有插入、删除、查询记录,通讯录的备份等功能。
1.使用用户图形界面实现
2.输入姓名,籍贯,性别,联系方式,E-mail进行添加联系人。
fnamelabel,dnamelabel;
JTextField namefield,numberfield,telfield,emailfield,findfield,delfield;
JButton addbutton,findbutton,delbutton,findallbutton,exportbutton;
helpmenu=new JMenu("帮助");
item1=new JMenuItem("导出全部联系人信息");
item2=new JMenuItem("退出");
item3=new JMenuItem("关于");
/*添加菜单*/
menubar.add(filemenu);
menubar.add(helpmenu);
namefield=new JTextField();
namefield.setColumns(10);
nativelabel=new JLabel("籍贯:",SwingConstants.CENTER);
String items[]={"请从列表中选择","北京","上海","天津","辽宁","安徽","河北"};
pane10.add(delbutton);
pБайду номын сангаасne11=new JPanel(new FlowLayout(FlowLayout.CENTER,1,1));
pane11.add(findallbutton);
pane12=new JPanel();
pane12.add(exportbutton);
4.3.1类图2
4.3.2页面设计2
4.4测试与分析2
4.5程序代码2
5总结与展望2
参考文献2
课程设计成绩评定2
2012年6月13号~2012年6月19号
《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高应用能力。
int number=0;//计数
Address_Book(String s){
super(s);
number=num(number);
con=this.getContentPane();
pane=new JPanel();
namelabel=new JLabel("姓名:",SwingConstants.CENTER);
item3.addActionListener(new about());
addbutton.addActionListener(new add());
findbutton.addActionListener(new find());
delbutton.addActionListener(new delete());
emailfield=new JTextField();
emailfield.setColumns(10);
addbutton=new JButton("添加");
fnamelabel=new JLabel("输入查找人姓名:",SwingConstants.CENTER);
findfield=new JTextField();
2.exit类,about类,add类,find类,delete类,findall类,export类实现了ActionListener接口
4.3详细设计
图2
图3
图1图4
图5图6
图7
4.4测试与分析
1.添加信息(见图8)
图8
2.查找联系人信息(见图9)
图9
3.查询全部联系人信息(见图10)
图10
4.删除联系人信息(见图11)
findfield.setColumns(10);
findbutton=new JButton("查找");
dnamelabel=new JLabel("删除联系人姓名:",SwingConstants.CENTER);
delfield=new JTextField();
delfield.setColumns(10);
pane.add(pane10);
pane.add(pane5);
pane.add(pane11);
pane.add(pane6);
pane.add(pane12);
/*为按钮添加事件*/
item1.addActionListener(new export());
item2.addActionListener(new exit());
4.add类,事件监听类,实现添加练习人的功能。
5.find类,事件监听类,实现查找联系人的功能。
6.delete类,事件监听类,实现删除联系人的功能。
7.findall类,事件监听类,实现查询全部联系人的功能。
8.export类,时间监听类,实现了备份联系人信息的功能。
1.Address_Book类,继承了java.swing包中的JFrame类。
pane1.add(namelabel);
pane1.add(namefield);
pane2=new JPanel(new FlowLayout(FlowLayout.CENTER,1,1));
pane2.add(nativelabel);
pane2.add(combobox);
pane3=new JPanel(new FlowLayout(FlowLayout.CENTER,1,1));
group.add(manradiobutton);
group.add(womanradiobutton);
pane3.add(sexlabel);
pane3.add(manradiobutton);
pane3.add(womanradiobutton);
pane4=new JPanel(new FlowLayout(FlowLayout.CENTER,1,1));
exportbutton.addActionListener(new export());
/*容器设置*/
con.add(pane);//添加面板
3.输入需要查询的联系人姓名,可以查询联系人的信息。
4.输入需要删除的联系人姓名,可以删除联系人。
5.可以查询全部联系人信息。
6.可以备份全部联系人的信息。
4.2总体设计
1.java.awt包,包含构成抽象窗口的工具集(abstract window toolkit)的多
个类,用来构建和管理应用程序的图形用户界面(GUI)。
combobox=new JComboBox(items);
sexlabel=new JLabel("性别:",SwingConstants.CENTER);
manradiobutton=new JRadioButton("男");
womanradiobutton=new JRadioButton("女");
软件学院
课程设计报告书
课程名称面向对象程序设计
设计题目个人通讯录管理
专业班级软件10-6班
2012年06月
目录
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
pane8.add(findbutton);
pane9=new JPanel(new FlowLayout(FlowLayout.CENTER,1,1));
pane9.add(dnamelabel);
pane9.add(delfield);
pane10=new JPanel(new FlowLayout(FlowLayout.CENTER,1,1));
tellabel=new JLabel("联系方式:",SwingConstants.CENTER);
telfield=new JTextField();
telfield.setColumns(10);
emaillabel=new JLabel("E-mail:",SwingConstants.CENTER);
JComboBox combobox;
JRadioButton manradiobutton,womanradiobutton;
JMenuBar menubar;
JMenu filemenu,helpmenu;
JMenuItem item1,item2,item3;
ButtonGroup group=new ButtonGroup();
/*添加控件*/
pane.setLayout(new GridLayout(6,2));
pane.add(pane1);
pane.add(pane7);
pane.add(pane2);
pane.add(pane8);
pane.add(pane3);
pane.add(pane9);
pane.add(pane4);
delbutton=new JButton("删除");
findallbutton=new JButton("查看全部联系人信息");
exportbutton=new JButton("导出全部联系人信息");
/*菜单*/
menubar=new JMenuBar();
filemenu=new JMenu("文件");
filemenu.add(item1);
filemenu.add(item2);
helpmenu.add(item3);
setJMenuBar(menubar);
menubar.setVisible(true);
/*每个面板添加控件*/
pane1=new JPanel(new FlowLayout(FlowLayout.CENTER,1,1));
图11
5.导出联系人信息(见图12)
图12
4.5程序代码
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.io.*;
public class Address_Book extends JFrame {
pane6.add(addbutton);
pane7=new JPanel(new FlowLayout(FlowLayout.CENTER,1,1));
pane7.add(fnamelabel);
pane7.add(findfield);
pane8=new JPanel(new FlowLayout(FlowLayout.CENTER,1,1));
Containercon,pane,pane1,pane2,pane3,pane4,pane5,pane6,pane7,
pane8,pane9,pane10,pane11,pane12;
JLabel namelabel,numberlabel,sexlabel,nativelabel,tellabel,emaillabel,
pane4.add(tellabel);
pane4.add(telfield);
pane5=new JPanel(new FlowLayout(FlowLayout.CENTER,1,1));
pane5.add(emaillabel);
pane5.add(emailfield);
pane6=new JPanel(new FlowLayout(FlowLayout.CENTER,1,1));
2.javax.swing包,扩充和增强图形用户界面功能。
3.java.awt.event包,提供接口和类来处理不同类型的事件触发的AWT组件。
4.java.io包,提供输入输出。
1.Address_Book类,包含了程序的入口函数。
2.exit类,内部类,实现了程序的退出。
3.about类,内部类,显示文件的基本信息。
编程实现个人通讯录管理(用文件存储)。主要提供如下功能:
1.增加记录
2.删除记录
3.显示所有记录
4.查询记录
5.文件备份
6.退出
通讯录记录信息包括:姓名,电话,email等信息
4.1需求分析
添加通讯录的信息,还有插入、删除、查询记录,通讯录的备份等功能。
1.使用用户图形界面实现
2.输入姓名,籍贯,性别,联系方式,E-mail进行添加联系人。
fnamelabel,dnamelabel;
JTextField namefield,numberfield,telfield,emailfield,findfield,delfield;
JButton addbutton,findbutton,delbutton,findallbutton,exportbutton;
helpmenu=new JMenu("帮助");
item1=new JMenuItem("导出全部联系人信息");
item2=new JMenuItem("退出");
item3=new JMenuItem("关于");
/*添加菜单*/
menubar.add(filemenu);
menubar.add(helpmenu);
namefield=new JTextField();
namefield.setColumns(10);
nativelabel=new JLabel("籍贯:",SwingConstants.CENTER);
String items[]={"请从列表中选择","北京","上海","天津","辽宁","安徽","河北"};
pane10.add(delbutton);
pБайду номын сангаасne11=new JPanel(new FlowLayout(FlowLayout.CENTER,1,1));
pane11.add(findallbutton);
pane12=new JPanel();
pane12.add(exportbutton);
4.3.1类图2
4.3.2页面设计2
4.4测试与分析2
4.5程序代码2
5总结与展望2
参考文献2
课程设计成绩评定2
2012年6月13号~2012年6月19号
《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高应用能力。
int number=0;//计数
Address_Book(String s){
super(s);
number=num(number);
con=this.getContentPane();
pane=new JPanel();
namelabel=new JLabel("姓名:",SwingConstants.CENTER);
item3.addActionListener(new about());
addbutton.addActionListener(new add());
findbutton.addActionListener(new find());
delbutton.addActionListener(new delete());
emailfield=new JTextField();
emailfield.setColumns(10);
addbutton=new JButton("添加");
fnamelabel=new JLabel("输入查找人姓名:",SwingConstants.CENTER);
findfield=new JTextField();
2.exit类,about类,add类,find类,delete类,findall类,export类实现了ActionListener接口
4.3详细设计
图2
图3
图1图4
图5图6
图7
4.4测试与分析
1.添加信息(见图8)
图8
2.查找联系人信息(见图9)
图9
3.查询全部联系人信息(见图10)
图10
4.删除联系人信息(见图11)
findfield.setColumns(10);
findbutton=new JButton("查找");
dnamelabel=new JLabel("删除联系人姓名:",SwingConstants.CENTER);
delfield=new JTextField();
delfield.setColumns(10);
pane.add(pane10);
pane.add(pane5);
pane.add(pane11);
pane.add(pane6);
pane.add(pane12);
/*为按钮添加事件*/
item1.addActionListener(new export());
item2.addActionListener(new exit());
4.add类,事件监听类,实现添加练习人的功能。
5.find类,事件监听类,实现查找联系人的功能。
6.delete类,事件监听类,实现删除联系人的功能。
7.findall类,事件监听类,实现查询全部联系人的功能。
8.export类,时间监听类,实现了备份联系人信息的功能。
1.Address_Book类,继承了java.swing包中的JFrame类。
pane1.add(namelabel);
pane1.add(namefield);
pane2=new JPanel(new FlowLayout(FlowLayout.CENTER,1,1));
pane2.add(nativelabel);
pane2.add(combobox);
pane3=new JPanel(new FlowLayout(FlowLayout.CENTER,1,1));
group.add(manradiobutton);
group.add(womanradiobutton);
pane3.add(sexlabel);
pane3.add(manradiobutton);
pane3.add(womanradiobutton);
pane4=new JPanel(new FlowLayout(FlowLayout.CENTER,1,1));