java个人通讯录课程设计报告
Java通讯录管理系统设计报告

Java通讯录管理系统设计报告1. 引言随着社会发展和信息技术的进步,通讯录在人们的日常生活和工作中变得越来越重要。
Java通讯录管理系统是一种用于管理个人和组织联系信息的软件系统。
本篇文档将详细介绍Java通讯录管理系统的设计和实现。
2. 功能需求Java通讯录管理系统具有以下功能需求: - 添加联系人:用户可以添加新的联系人,包括姓名、电话号码、电子邮件等相关信息。
- 删除联系人:用户可以删除已存在的联系人。
- 编辑联系人:用户可以修改已存在联系人的信息。
- 搜索联系人:用户可以根据姓名、电话号码或其他关键字搜索联系人。
- 显示联系人列表:用户可以查看所有联系人的列表,并按照姓名或其他方式进行排序。
- 导入/导出联系人:用户可以将联系人导入/导出到文件中,以实现数据的备份和共享。
3. 系统设计3.1 技术栈选择Java通讯录管理系统采用Java语言进行开发,使用Java的面向对象特性来实现系统的各个功能模块。
系统使用MySQL数据库来存储联系人的信息。
3.2 系统架构Java通讯录管理系统采用三层架构,分为表示层、业务逻辑层和数据访问层。
•表示层:负责与用户的交互,包括图形界面和用户输入输出的处理。
•业务逻辑层:负责处理用户的请求,对联系人信息进行增加、删除、编辑、搜索等操作,并调用数据访问层进行数据的读写。
•数据访问层:负责与数据库交互,进行联系人信息的读写操作。
3.3 类设计在Java通讯录管理系统中,主要涉及以下类的设计: - Contact类:表示一个联系人,包含姓名、电话号码、电子邮件等属性。
- ContactDAO接口:定义对联系人的增删改查等操作。
- ContactDAOImpl类:实现ContactDAO接口,负责与数据库进行交互。
- ContactService类:负责处理业务逻辑,调用ContactDAOImpl 类进行联系人信息的操作。
- ContactConsole类:表示层的用户界面,处理用户输入输出和展示联系人信息。
java课程设计(通讯录管理系统)

掌握Java语言基础
理解面向对象编程思 想
掌握数据库操作技术
提高团队协作和沟通 能力
完成一个实用的通讯 录管理系统
联系人管理:添加、删除、修改、查询联系人信息 联系人分组:创建、删除、修改、查询联系人分组 联系人搜索:根据姓名、电话、邮箱等信息进行搜索 联系人导出:将联系人信息导出为Excel、CSV等格式的文件 联系人导入:从Excel、CSV等格式的文件中导入联系人信息 系统设置:修改系统语言、主题、字体等设置
数据库类型:MySQL
数据库表结构:用户表、 联系人表、分组表等
主键和外键:用户ID、联 系人ID、分组ID等
数据库操作:增删改查等 基本操作
数据库优化:索引、缓存、 分表等优化措施
数据库安全:用户权限管 理、数据加密等安全措施
界面布局:简洁 明了,易于操作
色彩搭配:协调 统一,易于阅读
功能模块:联系 人管理、分组管 理、搜索功能等
汇报人:
添加标题
添加标题
查询方式:支持模糊查询和精确查 询
查询优化:使用索引提高查询效率
功能描述:删除指定联系人信 息
实现方法:调用数据库删除接 口
操作步骤:选择联系人,点击 删除按钮,确认删除
注意事项:确保删除操作不会 影响其他数据完整性
添加联系人:输入姓名、电话、邮箱等信 息
修改联系人:修改姓名、电话、邮箱等信 息
删除联系人:删除指定联系人
查询联系人:根据姓名、电话、邮箱等信 息进行查询
导出联系人:将联系人信息导出为Excel 或CSV文件
导入联系人:将Excel或CSV文件中的联系 人信息导入到系统中
修改模块界面:提供用户友 好的界面,方便用户操作
个人通讯管理系统java课程设计

个人通讯管理系统java课程设计一、教学目标本课程的学习目标包括知识目标、技能目标和情感态度价值观目标。
知识目标要求学生掌握个人通讯管理系统的基本概念、设计方法和实现技术。
技能目标要求学生能够运用Java语言独立完成个人通讯管理系统的开发,培养学生的实际编程能力和问题解决能力。
情感态度价值观目标培养学生的创新意识,提高学生对计算机科学和软件工程的兴趣,使学生认识到信息技术在现代社会中的重要性和应用价值。
二、教学内容教学内容主要包括个人通讯管理系统的基本概念、设计方法和实现技术。
首先,介绍个人通讯管理系统的发展历程、功能和特点,使学生了解个人通讯管理系统的背景和应用场景。
其次,讲解个人通讯管理系统的设计方法,包括需求分析、系统设计、模块划分等,培养学生的问题分析和设计能力。
然后,教授Java语言的基本语法、数据结构和常用类库,使学生能够熟练使用Java语言进行编程。
最后,结合实际案例,讲解个人通讯管理系统的实现技术,包括数据库设计、界面设计、功能实现等,培养学生的实际编程能力和问题解决能力。
三、教学方法本课程采用讲授法、讨论法、案例分析法和实验法等多种教学方法。
首先,通过讲授法向学生传授个人通讯管理系统的基本概念、设计方法和实现技术。
其次,通过讨论法激发学生的思考和讨论,培养学生的创新意识和问题解决能力。
然后,通过案例分析法让学生结合实际案例进行分析和设计,提高学生的实际编程能力和问题解决能力。
最后,通过实验法让学生动手实践,培养学生的实际操作能力和问题解决能力。
四、教学资源教学资源包括教材、参考书、多媒体资料和实验设备。
教材和参考书用于向学生传授个人通讯管理系统的基本概念、设计方法和实现技术。
多媒体资料用于辅助讲解和展示,使学生更直观地理解个人通讯管理系统的设计和实现。
实验设备用于让学生动手实践,培养学生的实际操作能力。
此外,还可以利用网络资源,如在线编程平台、开源个人通讯管理系统等,为学生提供更多的学习资源和实践机会。
小小通讯录-java课程设计报告

凯里学院Java课程设计报告题目小小通讯录所在院系计科院学生姓名潘万鹏、余冬林专业计算机科学与技术班级计09本(1)学号2009406028 20094060312011年12月22日一、系统分析与设计1、系统功能分析本系统通过连接数据库,查询出计09本(1)班同学的联系方式及家庭住址。
2、本系统共包括1个Java源文件,1个Main主类。
3、Java源文件及其功能如表1.1所示。
表1.1 文件清单二、系统实现1、成员变量如表2.1所示2、方法如表2.2所示表2.2 方法3、源文件Main.java代码如下给出。
import java.awt.*;import java.awt.event.*;import java.sql.*;public class Main extends Frame implements ActionListener { //主类// Toolkit.getDefaultToolkit()→获取默认工具包public Toolkit tool = Toolkit.getDefaultToolkit();Label lab1, lab2, lab3, lab4, lab5, lab6;TextField txt1, txt2, txt3, txt4, txt5, txt6;Button but1, but2, but3;public void showWindow() { //显示窗体类// 获取屏幕的x,y坐标int x = tool.getScreenSize().width;int y = tool.getScreenSize().height;setBounds(x / 2 - 250, y / 2 - 275, 500, 450);setLayout(null);lab1 = new Label("学号:");lab2 = new Label("姓名:");lab3 = new Label("性别:");lab4 = new Label("电话:");lab5 = new Label("QQ:");lab6 = new Label("住址:");add(lab1);add(lab2);add(lab3);add(lab4);add(lab5);add(lab6);lab1.setBounds(getWidth() - 450, getHeight() - 400, 50, 30);lab2.setBounds(getWidth() - 450, getHeight() - 350, 50, 30);lab3.setBounds(getWidth() - 450, getHeight() - 300, 50, 30);lab4.setBounds(getWidth() - 450, getHeight() - 250, 50, 30);lab5.setBounds(getWidth() - 450, getHeight() - 200, 50, 30); lab6.setBounds(getWidth() - 450, getHeight() - 150, 50, 30);txt1 = new TextField("2009406001");txt2 = new TextField();txt3 = new TextField();txt4 = new TextField();txt5 = new TextField();txt6 = new TextField();// 设置文本框位置setBounds(int x,int y,int w,int h);txt1.setBounds(getWidth() - 400, getHeight() - 400, 350, 30); txt2.setBounds(getWidth() - 400, getHeight() - 350, 350, 30); txt3.setBounds(getWidth() - 400, getHeight() - 300, 350, 30); txt4.setBounds(getWidth() - 400, getHeight() - 250, 350, 30); txt5.setBounds(getWidth() - 400, getHeight() - 200, 350, 30); txt6.setBounds(getWidth() - 400, getHeight() - 150, 350, 30);add(txt1);add(txt2);add(txt3);add(txt4);add(txt5);add(txt6);// 添加按钮but1 = new Button("上一个");but2 = new Button("查询");but3 = new Button("下一个");but1.setBounds(getWidth() - 450, 380, 100, 30);but2.setBounds(getWidth() / 2 - 50, 380, 100, 30);but3.setBounds(getWidth() / 2 + 110, 380, 100, 30);add(but1);add(but2);add(but3);// 添加事件驱动but1.addActionListener(this);but2.addActionListener(this);but3.addActionListener(this);txt1.addActionListener(this);addWindowListener(new WindowAdapter(){ //添加关闭监视器public void windowClosing(WindowEvent e){System.exit(0);}});setVisible(true);validate();setResizable(false);but1.setVisible(false);but3.setVisible(false);}public void actionPerformed(ActionEvent e) { //添加动作监听// 连接数据库,并进行编程if (e.getActionCommand() == "上一个") {//上一个代码开使String a=txt1.getText();int i=Integer.parseInt(a);i=i-1;Connection con;Statement sql;ResultSet rs;try{con=DriverManager.getConnection("jdbc:odbc:小小通讯录","admin","admin");sql=con.createStatement();rs=sql.executeQuery("SELECT * FROM information where 学号 = '"+i+"' ");while(rs.next()){String number1=rs.getString(1);//学号String number2=rs.getString(2);//姓名String number3=rs.getString(3);//性别String number4=rs.getString(4);//联系电话String number5=rs.getString(5);//联系QQString number6=rs.getString(6);//家庭住址txt1.setText(number1);txt2.setText(number2);txt3.setText(number3);txt4.setText(number4);txt5.setText(number5);txt6.setText(number6);}con.close();}catch(SQLException e1){System.out.println(e1);}//上一个代码结束}if (e.getActionCommand() == "查询") {//如果单击“查询”按钮则:but1.setVisible(true);but3.setVisible(true);String a=txt1.getText();Connection con;Statement sql;ResultSet rs;try{con=DriverManager.getConnection("jdbc:odbc:小小通讯录","admin","admin");sql=con.createStatement();rs=sql.executeQuery("SELECT * FROM information where 学号 = '"+a+"' ");while(rs.next()){String number2=rs.getString(2);//姓名String number3=rs.getString(3);//性别String number4=rs.getString(4);//联系电话String number5=rs.getString(5);//联系QQString number6=rs.getString(6);//家庭住址txt2.setText(number2);txt3.setText(number3);txt4.setText(number4);txt5.setText(number5);txt6.setText(number6);}con.close();}catch(SQLException e1){System.out.println(e1);//查询代码结束}}if (e.getActionCommand() == "下一个"){//单击按钮“下一个”//下一个开始String a=txt1.getText();int i=Integer.parseInt(a);i=i+1;Connection con;Statement sql;ResultSet rs;try{con=DriverManager.getConnection("jdbc:odbc:小小通讯录","admin","admin");sql=con.createStatement();rs=sql.executeQuery("SELECT * FROM information where 学号 = '"+i+"' ");while(rs.next()){String number1=rs.getString(1);//学号String number2=rs.getString(2);//姓名String number3=rs.getString(3);//性别String number4=rs.getString(4);//联系电话String number5=rs.getString(5);//联系QQString number6=rs.getString(6);//家庭住址txt1.setText(number1);txt2.setText(number2);txt3.setText(number3);txt4.setText(number4);txt5.setText(number5);txt6.setText(number6);}con.close();}catch(SQLException e1){System.out.println(e1);}//下一个结束}}public static void main(String args[]) { //main方法Main m = new Main();m.showWindow();}}三、系统测试图3.1程序运行,可得出此效果图。
java课程设计通讯录

java 课程设计通讯录一、教学目标本章节的教学目标是使学生掌握Java编程语言的基本语法和面向对象编程思想,通过实现一个简单的通讯录应用程序,培养学生解决实际问题的能力。
具体目标如下:1.掌握Java基本数据类型、运算符、控制结构。
2.理解面向对象编程的基本概念,如类、对象、封装、继承、多态。
3.熟悉Java常用类库,如String、ArrayList、HashMap等。
4.能够使用Java编写简单的程序,实现基本的数据处理和算法。
5.能够运用面向对象编程思想设计和实现应用程序。
6.掌握基本的调试和排错技巧。
情感态度价值观目标:1.培养学生对编程的兴趣和热情,提高学生解决问题的自信心。
2.培养学生团队协作、自主学习的习惯。
3.培养学生对编程事业的尊重和敬业精神。
二、教学内容本章节的教学内容主要包括以下几个部分:1.Java基本语法:数据类型、运算符、控制结构。
2.面向对象编程:类、对象、封装、继承、多态。
3.Java常用类库:String、ArrayList、HashMap等。
4.通讯录应用程序设计:需求分析、系统设计、编码实现、测试与调试。
三、教学方法为了达到本章节的教学目标,将采用以下几种教学方法:1.讲授法:讲解Java基本语法、面向对象编程思想和通讯录应用程序设计。
2.案例分析法:分析实际案例,让学生更好地理解面向对象编程思想和应用程序设计。
3.实验法:让学生动手编写和调试程序,提高学生的实际操作能力。
4.讨论法:学生进行小组讨论,培养学生的团队协作和沟通能力。
四、教学资源为了支持本章节的教學,将准备以下教学资源:1.教材:《Java编程思想》、《Java核心技术》。
2.参考书:提供相关领域的经典教材和在线资源。
3.多媒体资料:制作PPT、视频教程等,帮助学生更好地理解教学内容。
4.实验设备:为学生提供必要的编程环境和实验设备。
五、教学评估本章节的教学评估将采用多元化的评价方式,以全面、客观、公正地评估学生的学习成果。
基于JAVA个人通讯录管理系统开发与设计

1郑州科技学院Java 课程设计报告题 目 Java 通讯录课程设计课 程 名 称 Java 程序设计实用教程 院 部 名 称 信息工程学院 专 业 计算机科学与技术专业 班 级 11计科1班 学 生 姓 名 胡燊 学 号 201115007 指 导 教 师 杜 远 坤 完 成 时 间 2013年12月20日摘要本文介绍了一个简单实用的个人通讯录管理系统java工程,详细描述了本人在编程时候的编程思想和在MyEclipse 中调试运行的步骤,简明扼要地介绍了整个工程的功能和实用方法。
这个个人通讯录管理系统含有添加、删除、查找等基本功能,同时也添加了一些有趣的小功能——支持背景图片的更换。
在程序中完成了与数据库的通信,并同样可以对数据库进行添加、查找、删除等功能。
关键词:个人通讯录管理系统、添加、删除、查找、数据库2目录摘要 (2)1 绪论 (4)1.1 设计目的 (4)1.2 设计内容 (4)2 程序要求 (4)3 算法分析 (5)3.1 程序总体设计思想 (5)3.2 程序设计总体框图 (5)3.3 程序详细设计 (6)4 调试过程 (8)5 体会 (16)6 参考文献 (17)附录(源程序) (18)31 绪论1.1 设计目的本课程设计是java语言学习中很重要的实践性环节之一,是在学习完java课程后进行的一次全面的综合练习旨在巩固和加深我们对java语言的基本知识的理解和掌握,掌握java语言编程和程序调试的基本技能,利用java语言进行基本的软件设计,掌握书写程序设计说明文档的能力,提高运用java语言解决实际问题的能力。
1.2 设计内容在设计一个完整的系统中,我从系统的管理员登录界面开始做,另外依据相关要求,对系统增加了数据库支持(Microsoft Access做的数据库),还有对数据库里的数据进行增加、删除、显示所有记录、查询记录、导出备份数据库文件。
另外为了界面美观,增加了系统主界面背景界面图片的支持。
java通讯录课程设计报告

课程设计报告:Java通讯录一、引言本次课程设计是关于Java通讯录的开发,旨在让我们更深入地理解Java编程语言在现实生活中的应用。
通讯录是一种常见的应用程序,它可以帮助我们管理联系人信息,方便我们与朋友和家人保持联系。
二、需求分析本次课程设计的目标是根据用户需求,设计并实现一个功能齐全的Java通讯录应用程序。
具体需求如下:用户可以添加联系人信息,包括姓名、电话号码、电子邮件地址等。
用户可以删除联系人信息。
用户可以编辑联系人信息。
用户可以按姓名、电话号码或电子邮件地址搜索联系人信息。
用户可以查看所有联系人信息。
三、设计数据库设计为了存储联系人信息,我们选择使用Java内置的ArrayList类作为数据库。
ArrayList是一个动态数组,可以根据需要自动增长。
我们将使用ArrayList的add()方法添加联系人信息,使用get()方法获取联系人信息,使用remove()方法删除联系人信息。
界面设计我们使用Java Swing库来创建用户界面。
界面包括以下组件:JLabel:显示提示信息和标题。
JTextField:用于输入和编辑联系人信息。
JButton:用于触发添加、删除、编辑和搜索等操作。
JTable:用于显示所有联系人信息。
JComboBox:用于选择搜索条件。
四、实现添加联系人信息当用户点击“添加”按钮时,程序会创建一个新的联系人对象,并将用户输入的信息设置到该对象中。
然后,程序将该对象添加到ArrayList中。
删除联系人信息当用户选择要删除的联系人并点击“删除”按钮时,程序会从ArrayList中删除该联系人对象。
编辑联系人信息当用户选择要编辑的联系人并点击“编辑”按钮时,程序会将该联系人的信息显示在文本框中,以便用户进行修改。
修改完成后,程序会将修改后的信息保存到ArrayList中。
搜索联系人信息当用户选择搜索条件并输入搜索关键字时,程序会在ArrayList 中查找符合条件的联系人对象,并将其显示在表格中。
java课程设计--- 个人通讯录管理系统

课程设计(论文)任务书设计题目:个人通讯录管理系统专业班级:10计算机科学与技术2班主要内容:设计GUI界面的个人通讯录,用户可以添加,删除,修改,查询,打印通讯录中的记录!采用图形用户界面,通过菜单选择相应的操作,直观且操作简单。
数据库用MySQL;编辑平台选用MyEclipse 。
所用到的知识点有:类的基本构成,异常处理,图形用户界面,文件操作和数据库。
基本要求:用图形用户界面实现,能实现增加记录,删除记录,显示所有记录,查询记录,文件备份。
通讯录的功能包括:姓名,电话,Email 等。
使用数据库做后台连接!1目录一、开发背景 (1)二、可行分析 (1)三、设计内容……………………………………………………………………….错误!未定义书签。
四、设计要求……………………………………………………………………….错误!未定义书签。
五、具体设计 (4)六、具体分工 (5)七、程序设计 (9)1、主程序模块…………………………………………………….....…........1错误!未定义书签。
1、添加模块…………………………………………………….....…........1错误!未定义书签。
2、删除模块 (22)4、背景框格设计 (32)八、实习心得 (35)2一、开发背景在信息化不断发展的今天,社会成员相互之间联系越来越紧密,联系方式也越来越多。
我们除了手机,移动电话等常规联系方式外,现在还有了电子邮箱、MSN、QQ等信息化的联系方式,那么为了方便我们将每个联系人的多个联系方式保存在一起,方便由于一种联系方式联系不到某人时,可查询其他联系方式,以前的“纸质”通讯录已经越来越赶不上信息化的速度,势必被淘汰,所以我们用所学过的知识实现一个“非纸质”通讯录。
二、可行分析介绍了一个简单实用的个人通讯录管理系统java工程,详细描述了本人在编程时候的编程思想和在MyEclipse 6.5中调试运行的步骤,简明扼要地介绍了整个工程的功能和实用方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
j a v a个人通讯录课程设计报告内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)别山东交通学院面向对象课程设计个人通信录管理信息系统的设计与实现院(系)别信息科学与电气工程学院班级学号姓名指导教师时间 2014-08-25—2014-09-5课程设计任务书题目个人通讯录管理系统院 (部) 信息科学与电气工程学院专业计算机科学与技术班级学生姓名学号08 月 25 日至 09 月 5 日共 2 周指导教师(签字)院长(签字)年月日成绩评定表目录课程设计概述本课程设计是java语言学习中很重要的实践性环节之一,是在学习完java课程后进行的一次全面的综合练习旨在巩固和加深我们对java语言的基本知识的理解和掌握,掌握java语言编程和程序调试的基本技能,利用java语言进行基本的软件设计,掌握书写程序设计说明文档的能力,提高运用java语言解决实际问题的能力2本次课程设计主要目的及要求:设计一个通讯录管理软件,要求如下:增加记录、删除记录、显示所有记录、查询记录、文件备份、退出。
通讯录记录信息包括:姓名,电话,email等。
(1)通讯录的每一条信息包括姓名,单位,电话!(可用数组或数据库);(2)输入功能:可以一次完成若干条信息的输入;(3)显示功能:完成全部通讯录信息的显示(一屏最多显示10条,超过十条应能够自动分屏显示);(4)查找功能:完成按姓名查找通讯信息;(5)删除功能:完成按姓名删除通讯信息;(6)应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!程序分为多个小模块,通过调用实现各种功能,增强了程序的可建设性。
3.设计思想:个人通讯录件的功能模块有:(1)提供登陆界面,方便用户进入,满足需求;(2)添加:可以添加通讯录记录,依次输入姓名、性别、出生日期、移动电话、固定电话、MSN/QQ、公司地址、E-Mail地址、家庭住址、组别、备注后,会提示是否继续添加;(3)显示:可以以表格形式输出所有通讯录里的记录;(4)查询:可以用姓名查询;(5)修改:输入欲修改的那个人的名字后,再依次输入姓名、性别、出生日期、移动电话、固定电话、MSN/QQ、公司地址、E-Mail地址、家庭住址、组别、备注即可完成修改;(6)删除:可以直接删除多余的通讯录记录;(7)帮助:可以在帮助里面修改用户密码;(8)导出数据库:可以将数据库以文本txt格式导出。
程序分为多个小模块,通过调用实现各种功能,增强了程序的可建设性。
1.1总体设计流程图图2-1 总体设计流程2程序测试2.1登陆界面图4-1 登陆界面相关代码:public Loginframe() {login = new JDialog(Myaddress.myFrame, "个人通讯录登入界面", true);login.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); login.setLocationRelativeTo(null);login.setLayout(new GridLayout(3, 0));username = new TextField(10);password = new TextField(10);username.setText("");password.setText("");certain = new JButton("certain");cancel = new JButton("cancel");certain.addActionListener(new LoginIn());cancel.addActionListener(new LoginIn());JLabel lb1 = new JLabel("用户名:");JLabel lb2 = new JLabel("密码:");JPanel p1 = new JPanel();JPanel p2 = new JPanel();JPanel p3 = new JPanel();p1.add(lb1);p1.add(username);p2.add(lb2);p2.add(password);password.setEchoChar('*');p3.add(certain);p3.add(cancel);login.setSize(300, 200);login.add(p1);login.add(p2);login.add(p3);login.setVisible(true);login.pack();}public static void main(String[] args) {new Loginframe();}}点击“certain”,登录成功,点击确定,进入个人通讯录管理系统,个人通讯录管理系统界面相关代码:public Loginframe() {login = new JDialog(Myaddress.myFrame, "个人通讯录登入界面", true);login.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);login.setLocationRelativeTo(null);login.setLayout(new GridLayout(3, 0));username = new TextField(10);password = new TextField(10);username.setText("");password.setText("");certain = new JButton("certain");cancel = new JButton("cancel");certain.addActionListener(new LoginIn()); cancel.addActionListener(new LoginIn()); JLabel lb1 = new JLabel("用户名:"); JLabel lb2 = new JLabel("密码:"); JPanel p1 = new JPanel();JPanel p2 = new JPanel();JPanel p3 = new JPanel();p1.add(lb1);p1.add(username);p2.add(lb2);p2.add(password);password.setEchoChar('*');p3.add(certain);p3.add(cancel);login.setSize(300, 200);login.add(p1);login.add(p2);login.add(p3);login.setVisible(true);login.pack();}public static void main(String[] args) {new Loginframe();}}2.点击左上角的“文件—导出数据库”,public Fdkeep() {fdsave = new JDialog(Myaddress.myFrame, "导出数据", true);fdsave.setLocationRelativeTo(null);fdsave.setLayout(new GridLayout(2, 0));JLabel labelSave = new JLabel("输入保存的完整的路径:");JLabel labele1 = new JLabel("例如:D:" + "\\" + "w.text");saveok = new JButton("save");savegp = new JButton("give up");lbSave = new TextField(10);saveok.addActionListener(new FileExportDBAction());savegp.addActionListener(new FileExportDBAction());JPanel p9 = new JPanel();JPanel p10 = new JPanel();p9.add(labelSave);p9.add(lbSave);p9.add(labele1);p10.add(saveok);p10.add(savegp);fdsave.add(p9);fdsave.add(p10);fdsave.pack();fdsave.setVisible(true);}}2.2添加界面点击“保存”将新加的信息加入数据库,系统会告知“添加成功”。
相关代码:public class Panelframeaction implements ActionListener {String sql1;Connection con;Statement stmt;public void actionPerformed(ActionEvent e) {if (((JButton) e.getSource()).getText().equals("保存")) {String nname, sx, bday, mphone, phone, compay, email, home, group, note, msnqq;nname = Panelframe.lbName.getText();sx = Panelframe.sex.getSelectedItem();bday = Panelframe.BirthdayYear.getSelectedItem() + "-"+ Panelframe.BirthdayMonth.getSelectedItem() + "-"+ Panelframe.BirthdayDay.getSelectedItem();mphone = Panelframe.lbMobilephone.getText();phone = Panelframe.lbTelephone.getText();compay = Panelframe.lbCompany.getText();email = Panelframe.lbMail.getText();home = Panelframe.lbaddress.getText();group = Panelframe.Group.getSelectedItem();note = Panelframe.lbNote.getText();msnqq = Panelframe.lbMail.getText();try {con = new Connect().getConnection();stmt = con.createStatement();sql1 = "INSERT INTO address " + "VALUES(\'" + nname + "\',\'"+ sx + "\'," + bday + ",\'" + mphone + "\',\'" + phone+ "\',\'" + compay + "\',\'" + email + "\',\'" + home+ "\',\'" + group + "\',\'" + note + "\',\'" + msnqq+ "\')";stmt.executeUpdate(sql1);JOptionPane.showMessageDialog(null, "添加成功");Myaddress.myFrame.setVisible(false);Myaddress.myFrame.getContentPane().removeAll();Myaddress.myFrame.getContentPane().add(newImage());Myaddress.myFrame.pack();Myaddress.myFrame.setVisible(true);stmt.close();con.close();} catch (Exception ex) {ex.printStackTrace();}}if (((JButton) e.getSource()).getText().equals("取消")) {Myaddress.myFrame.setVisible(false);Myaddress.myFrame.getContentPane().removeAll();Myaddress.myFrame.getContentPane().add(new Image());Myaddress.myFrame.pack();Myaddress.myFrame.setVisible(true);}if (((JButton) e.getSource()).getText().equals("退出查询界面")) {Myaddress.myFrame.setVisible(false);Myaddress.myFrame.getContentPane().removeAll();Myaddress.myFrame.getContentPane().add(new Image());Myaddress.myFrame.pack();Myaddress.myFrame.setVisible(true);}if (((JButton) e.getSource()).getText().equals("保存修改")) {String sx, bday, mphone, phone, compay, email, home, group, note, msnqq;sx = Panelframe.sex.getSelectedItem();bday = Panelframe.BirthdayYear.getSelectedItem() + "-"+ Panelframe.BirthdayMonth.getSelectedItem() + "-"+ Panelframe.BirthdayDay.getSelectedItem();mphone = Panelframe.lbMobilephone.getText();phone = Panelframe.lbTelephone.getText();compay = Panelframe.lbCompany.getText();email = Panelframe.lbMail.getText();home = Panelframe.lbaddress.getText();group = Panelframe.Group.getSelectedItem();note = Panelframe.lbNote.getText();msnqq = Panelframe.lbMail.getText();try {con = new Connect().getConnection();stmt = con.createStatement();sql1 = "update address set 性别=\'" + sx + "\' , 生日= " + bday+ " , 移动电话=\'" + mphone + "\' ,固定电话=\'" + phone+ "\'" + " , 公司地址=\'" + compay + "\' , EMail=\'"+ email + "\' , 家庭地址=\'" + home + "\' , 组别= \'"+ group + "\' , 备注=\'" + note + "\' , MSNQQ=\'"+ msnqq + "\' where 姓名=\'" + QueryFrame.n + "\'";int aa = stmt.executeUpdate(sql1);stmt.hashCode();System.out.print(QueryFrame.n);if (aa > 0) {JOptionPane.showMessageDialog(null, "修改成功");Myaddress.myFrame.setVisible(false);Myaddress.myFrame.getContentPane().removeAll();Myaddress.myFrame.getContentPane().add(new Image());Myaddress.myFrame.pack();Myaddress.myFrame.setVisible(true);} else {JOptionPane.showMessageDialog(null, "修改失败");}stmt.close();con.close();} catch (Exception ex) {ex.printStackTrace();}}}}选择“编辑—删除”,按照提示输入删除的用户名点击“删除”后,则系统会提示“删除成功”相关代码:public class deleteFrameaction implements ActionListener {String sql;Connection con;Statement stmt;public void actionPerformed(ActionEvent e) {deleteFrame.delFrame.setVisible(false);//删除界面不可见if (((JButton) e.getSource()).getText().equals("删除")) {String nn = deleteFrame.lbDel.getText();//try {con = new Connect().getConnection();stmt = con.createStatement();sql = "delete from address where 姓名=" + "\'" + nn.trim() + "\'";stmt.executeUpdate(sql);JOptionPane.showMessageDialog(null, "删除成功");stmt.close();con.close();//结束连接} catch (Exception ex) {System.out.println("Exception:" +ex.getMessage());}deleteFrame.lbDel.setText("");}if (((JButton) e.getSource()).getText().equals("放弃")) {deleteFrame.delFrame.setVisible(false);}}}点击“文件—按姓名查找”,输入所需要查找的用户名图4-13 查找记录点击“查询”,系统会对数据库进行查找,并提示“查找结束”相关代码:public QueryFrame() {findFrame = new JDialog(Myaddress.myFrame, "查找记录", true);//查找可见findFrame.setLocationRelativeTo(null);//查找地址不为空findFrame.setLayout(new GridLayout(2, 0));//网格大小JLabel labelFind = new JLabel("输入所要查询的用户名:");findok = new JButton("查询");findgp = new JButton("撤消");lbFind = new TextField(10);findok.addActionListener(new QueryAction());findgp.addActionListener(new QueryAction());JPanel p4 = new JPanel();//容器JPanel p6 = new JPanel();p4.add(labelFind);p4.add(lbFind);p6.add(findok);p6.add(findgp);findFrame.add(p4);findFrame.add(p6);findFrame.pack();findFrame.setVisible(true);}}以上通过了正确查找和错误两方面充分论证了查找功能的正常运行。