JAVA通讯录(内含源代码)要点.pdf
《JAVA通讯录(内含源代码)要点.pdf》由会员分享,可在线阅读,更多相关《JAVA通讯录(内含源代码)要点.pdf(31页珍藏版)》请在三一文库上搜索。
1、JAVA 课程设计实验报告 学校:江西农业大学 班级:软 件 1115班 姓名:朱 利 斌 学号:20111976 课程:JAVA 通讯录 指导教师:邓老师 2012.12.29 一、设计目的 本课程设计是 java 语言学习中很重要的实践性环节之一,是在学习完 java 课程后进行的一次全面的综合练习旨在巩固和加深我们对java 语言的基本知识 的理解和掌握,掌握java 语言编程和程序调试的基本技能,利用java 语言进行 基本的软件设计,掌握书写程序设计说明文档的能力,提高运用java 语言解决 实际问题的能力。 1 、掌握类的定义及应用方法 2、掌握对象的创建方法,了解实例变量、实例方
2、法和静态字段的特征 3、体会 java 在中类和对象的面向对象的设计思想 二、实验内容 本次课程设计是开发一个简易的、小型的通讯录, 我们命名为 “通讯录”。 通讯录保存在计算机中,便于分组,还便于增加、修改、删除好友信息。 设计一个通讯录管理软件,要求如下: 增加组、删除组、修改组、查询好友、添加好友、修改好友,删除好友,退 出。通讯录好友信息包括:姓名,电话,手机,住址,性别等。 (1)通讯录的每一条信息包括姓名,电话,电话; (2)输入功能:可以一次完成若干条信息的输入; (3)显示功能:完成全部通讯录信息的显示(可现实多个好友和好友分组); (4)查找功能:完成按姓名查找通讯信息; (
3、5)删除功能:完成按姓名删除通讯信息; (6)应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应 尽可能清晰美观 ! 三、实验要求 1 、对系统进行功能模块分析、功能模块分析正确; 2 、系统设计要有经济价值,要实用; 3 、编程简练,可用,功能全面,具有较好的健壮性; 4 、系统界面外观和布局,可个性化设计,总体原则是“界面简洁、操作 便捷” ; 5 、说明书、流程图要清楚; 6 、应用程序打包发布。 四,设计思路 1程序设计总体思路 通讯录的功能模块有: (1)提供显示主界面,方便用户操作,满足需求; (2)添加:可以添加通讯录好友分组和好哦与信息,依次输入姓名、性别、 手机、固
4、定电话、地址、组别、归属组等; (3)显示:可以显示输出所有通讯录里信息; (4)查询:可以用姓名查询; (5)修改:输入欲修改的那个人的名字后,再依次输入姓名、性别、电话、 手机、地址、组别、可完成修改,也可以修改组名; (6)删除:可以直接删除好友分组及里面的好友,也可以单独删除好友; (7)帮助:可以在帮助里面; 程序分为多个小模块,通过调用实现各种功能,增强了程序的可建设性。 2 程序设计总体框图 3.功能模块设计 点击运行系统,进入主界面进行操作组和好友的操作; 点击组操作,进入界面,进行组添加,组修改,组删除以及退出的操作。 点击好友操作, 进入界面, 进行好友的添加,好友查询,
5、好友修改, 好友删除的操作。 组操作: 点击添加组的操作,进入界面,进行组的添加。 点击删除组的操作,进入界面,进行组的删除。 点击修改组名的操作,进入界面,进行组的修改。 好友操作: 通讯录 组 操 作 帮 助 好 友 操 作 添 加 组 删 除 组 修 改 组 退 出 查 询 好 友 添 加 好 友 修 改 好 友 删 除 好 友 点击好友添加的操作,进入界面,进行好友的添加。 点击好友查询的操作,进入界面,进行好友的查询。 点击好友删除的操作,进入界面,进行好友的删除。 点击好友修改信息的操作,进入界面,进行好友的修改信息。 4.详细设计 该程序共有 8 个类,但只创建了1 个 java
6、 源程序文件,以下按照类的名字 先后解释(在设计软件MyEclipse 工程排序也是如此),另外在此只是简要介绍 相关源程序所实现的功能,程序截图参见调试,源程序参见附录: MainFrame类做的是功能表中主界面的功能, 使用此项功能的时候, 在点击 “显 示查询结果”后,让界面显示出操作内容;点击“退出”的时候退出该功能。 Addgroup类做的就是“增加分组”的界面,上面有标题、文字显示框和两个控 制按钮“增加分组”和“退出” 。 Deletegroup类做的是“删除分组”的界面,有一个文字输入框(提供按 名字来删除),和两个控制按钮“删除”和“退出”。 Revisegroup类做的是“
7、修改”的相关功能,当输入名字之后会进行修改, , 两个控制按钮“修改”和“退出” 。 Searchfriend类做的是“编辑 查询好友”的界面,提供按名字搜索, 有一个文字输入框,和两个控制按钮“查询”和“退出”。 Addfriend类做的是“编辑 增加好友”的界面,输入需要增加的姓名, 电话,手机,住址,性别,归属组之后,两个控制按钮“增加”和“退出”。 ReviseFriendname类做的是“修改好友名字”的界面,有一个文字输入 框提供输入路径,两个控制按钮“修改”和“退出”。 Deletefriend类做的是“删除好友”的界面,输入了完整路径之后,有 一个文字输入框提供输入路径,两个控
8、制按钮“删除”和“退出”。 五,测试运行 1 系统测试方案: 1.1 进入主界面功能的一系列测试: 组界面:测试方法如下 测试内容测试方法 添加组点击组操作,添加组,输入相关信息并添加,并在主界面 点刷新 删除组点击组操作,删除组,输入要删除组的名称,点击删除, 并在主界面点刷新 修改组名点击组操作, 修改组名, 输入要修改组的预案名称和新组 名,并点击修改,并在主界面点刷新 1.2 好友界面:测试方法如下 测试内容测试方法 添加好友点击好友操作, 添加好友, 输入相关好友信息并添 加,并在组界面点击刷新 查询好友点击好友操作, 输入要查询好友的名字,并且可以 修改好友信息 修改好友点击好友操
9、作, 输入要修改好友的姓名,出现好友 信息界面, 修改原有的数据,点击修改, 并在主界 面点刷新 删除好友点击好友操作, 输入要删除好友的姓名,点击删除, 并在主界面点击刷新 2,运行结果 1、运行程序,出现主界面,如下图: 2.组操作下拉菜单 3 增加组:同学 增加成功:如下图所示 4.删除组 删除成功:如下图所示 5.修改组:将同学改为同事 修改组名成功:如下图所示 6.增加好友:分别在不同的两个组增加一个人 添加好友成功:如下图所示 7.查询好友:对同事中的周杰伦和好友中的她她她分别查询 查询结果:如图所示 查询她她她:如下图 8.修改好友:对周杰伦进行修改,改成许嵩 修改成功:如下图
10、9.删除好友:对许嵩进行删除 删除成功 :如下图所示 六、总结 经过几天的努力,本次课程设计已圆满完成。在这期间,我深深地感受到 设计成功的喜悦, 也体味到失败的痛苦。 好在前面的学习过程中, 理论知识学得 比较深刻, 加之老师和同学的帮助, 很快适应了软件开发的流程。课程设计确实 能够锻炼一个人在遇到一个不懂的问题时候,怎样去查阅资料, 使一个个疑难问 题迎刃而解。 这对我以后的工作有非常大的意义。在这次的课程设计中不仅检验 了我所学习的知识, 也培养了我如何去把握一件事情,如何去做一件事情, 又如 何完成一件事情。在设计过程中,和同学们相互探讨,相互学习。学会了合作, 学会了运筹帷幄,学会
11、了宽容,学会了理解,也学会了做人与处世。课程设计是 我们专业课程知识综合应用的实践训练,着是我们迈向社会, 从事职业工作前一 个必不少的过程 ” 千里之行始于足下 ” ,通过这次课程设计,我深深体会到这句 千古名言的真正含义我今天认真的进行课程设计,学会脚踏实地迈开这一步, 就是为明天能稳健地在社会大潮中奔跑打下坚实的基础 源代码: import java.awt.*; import java.awt.event.*; import javax.swing.*; public class MainFrame extends JFrame implements ActionListener JT
12、extArea txt; JMenuBar mb; JMenu menu1; JMenu menu2; JMenu menu3; JButton btn1; JButton btn2; JList list; int i = 0; int k = 0; int j = 0; int m = 0; int t = 0; String str = new String100; String str1 = new String100; / 姓名 String str2 = new String100; / 手机 String str3 = new String100; / 电话 String str
13、4 = new String100; / 地址 boolean str5 = new boolean100; / 性别 String str6 = new String100; / 归属 JMenuItem item1;JMenuItem item2;JMenuItem item3;JMenuItem item4; JMenuItem item5;JMenuItem item6;JMenuItem item7;JMenuItem item8; MainFrame() / 主界面 this.setTitle(“通讯录 “); this.setSize(300,500); this.setLoca
14、tion(200, 100); this.setLayout(null); txt=new JTextArea(30,60); btn1=new JButton(“刷新“); btn2=new JButton(“退出“); Objecto=new Object“ 亲人 “,“ 老爸 “,“ 老妈 “,“ 朋 友 “,“ 张三“,“ 李四“ ; list=new JList(o); list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); mb=new JMenuBar(); menu1=new JMenu(“组操作 “); item
15、1=new JMenuItem(“添加组 “); item2=new JMenuItem(“删除组 “); item3=new JMenuItem(“修改组 “); item4=new JMenuItem(“退出“); menu2=new JMenu(“好友操作 “); item5=new JMenuItem(“查询好友 “); item6=new JMenuItem(“添加好 友“); item7=new JMenuItem(“修改好友 “); item8=new JMenuItem(“删除好 友“); menu3=new JMenu(“帮助“); mb.add(menu1);mb.add(
16、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.
17、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); ite
18、m8.addActionListener(this); btn1.addActionListener(this); btn2.addActionListener(this); this.setVisible(true); this.setDefaultCloseOperation(this.EXIT_ON_CLOSE); public static void main(String args) new MainFrame(); public void actionPerformed(ActionEvent e) if (e.getSource() = item1) new Addgroup()
19、; else if (e.getSource() = item2) new Deletegroup(); else if (e.getSource() = item3) new Revisegroup(); else if (e.getSource() = item4) System.exit(0); else if (e.getSource() = item5) new Searchfriend(); else if (e.getSource() = item6) new Addfriend(); else if (e.getSource() = item7) new ReviseFrien
20、dname(); else if (e.getSource() = item8) new Deletefriend(); else if (e.getSource() = btn2) System.exit(0); else if (e.getSource() = btn1) txt.setText(“); for (int f = 0; f i; f+) txt.append(strf + “n“); for (int s = 0; s j; s+) if (strf.equals(str6s) txt.append(“ “ + str1s + “n“); / 增加组界面 public cl
21、ass Addgroup extends JFrame implements ActionListener JLabel label; JTextField uTxt; JButton btn1, btn2; Addgroup() this.setSize(400, 300); this.setTitle(“增加组 “); this.setLayout(null); label = new JLabel(“组名“); uTxt = new JTextField(20); btn1 = new JButton(“增加“); btn2 = new JButton(“退出“); label.setB
22、ounds(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.setDefaultC
23、loseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); public void actionPerformed(ActionEvent e) if (e.getSource() = btn1) stri = uTxt.getText(); txt.setText(txt.getText() + “n“ + stri); i+; this.dispose(); else if (e.getSource() = btn2) this.dispose(); / 删除组界面 public class Deletegroup extends
24、 JFrame implements ActionListener JLabel label; JTextField uTxt; JButton btn1, btn2; Deletegroup() this.setSize(400, 300); this.setTitle(“删除组 “); this.setLayout(null); label = new JLabel(“组名“); uTxt = new JTextField(20); btn1 = new JButton(“删除“); btn2 = new JButton(“退出“); label.setBounds(110, 100, 6
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 通讯录 内含 源代码 要点
链接地址:https://www.31doc.com/p-5197268.html