




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业论文(设计) 题 目 通讯录管理系统 1 目目 录录 文文 献献 综综 述述2 2 第一章第一章 引言引言3 3 通讯录的现状和背景3 第二章第二章 开发技术及技术开发技术及技术5 5 2.1开发技术.5 2.2开发工具.6 第三章第三章 系统的需求分析系统的需求分析8 8 3.1系统功能分析.8 3.2系统用例分析.9 3.3数据库分析12 第四章第四章 系统实现系统实现1515 4.1数据库的实现15 4.2系统功能实现16 4.3功能模块的实现18 第五章第五章 系统测试系统测试2525 5.1登陆用例的程序设计25 5.2登录成功:登录用户登录成功后转向主窗体.28 5.3登录用户对联系人信息的管理操作30 第六章第六章 总总 结结4242 致致 谢谢4343 参参 考考 文文 献献4444 2 文献综述 通讯录管理系统的设计与实现 李本城 西南大学荣昌校区信息管理系 重庆荣昌 402460 摘要:摘要:随着社会的发展,人际关系变得越来越重要,为了保持良好的人际关系,必须经常与 亲戚、朋友、同学、同事保持联系,但是有时候存在着许多的限制条件,比如怎样找到交流对 象的各种信息?可能你会想到现实生活中的手机等通讯工具,由于这些工具的单一性,不可能 在第一时间找到自己想要的信息资料,因此,为了能够快速查找到联系人的信息,节省查找时 间,开发通讯录管理系统。 通讯录管理系统是一个基于 c/s 模式的个人通讯录管理系统。它是将自己的联系人的具体 信息集中管理,成为一个方便人们使用的小软件。在开发过程中主要运用 java,jdk,mysql,swing 等技术,由于开发工具和数据库之间的良好使用,可以为开发带来方便, 使之成为一个可施行的系统。从而达到开发的目的-实现对通讯录信息的管理。 “优秀的人际关系是一个人成功的重要因素”这已经成为不争的事实,这些日益繁多的人 际交往使得我们很难搞清楚与每个人具体的联系方式,这严重影响了一个人的发展,所以通讯 录管理系统的建立已是必要的了,此次课程设计我利用了数据结构中的知识以及 java 语言的 知识设计的通讯录管理系统能够达到快速了解联系人信息,通讯录管理系统主要包括:1通讯 录链表的建立 2通讯者结点的插入 3通讯者结点的查询 4通讯者结点的删除 5通讯录链 表的输出 0退出通讯录管理系统。你能够通过本系统了解联系人的姓名、手机、家庭地址,你 也可以根据自己的需要改变系统的信息,也可以浏览全部通讯的联系人,并且可以根据数据表 的各字段来查询你所要找的联系人等功能。相信通过使用该通讯录管理系统能够更加便利你的 生活,为你的良好的人际关系添砖加瓦,帮助你走向成功。目前的信息通信能力已经走超出了 我们的想象,越来越多的通信工具出现,但无论是何种工具,其基本的一项功能就是记录通信 者的信息,也便在需要时进行查寻。 关 键 词:个人通讯录管理系统、添加、删除、查找、数据库 3 第一章第一章 引言引言 1.11.1 通讯录的现状和背景通讯录的现状和背景 俗话说:”海内存知己,天涯若比邻”,在现在竞争激烈,快节奏的生活中,人 们之间的交流变得十分重要。 随着计算机技术的飞速发展,计算机在企业管理和个人生活中的应用越来越普 及,越来越重要。利用计算机实现公司往来通讯或个人的通讯管理显得越来越重要。 对于用户来说,利用计算机高效率地完成通讯录的查询,是适应现代通讯录管理制 度要求,而销售管理是一项琐碎、复杂而又十分细致的工作,一般不允许出错,如 果实行手工操作,须手工填制大量的表格数据,这就会耗费工作人员大量的时间和 精力,计算机进行销售管理工作,不仅能够保证工作准确无误、快速完成,而且还 可以利用计算机对有关商品的各种信息进行管理,服务于企业的各个部门,同时计 算机具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储 量大、保密性好、寿命长、成本低等。这些优点能够极大地提高企业销售管理的效 率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 在现代社会中管理的作用越来越显得重要和突出。一般来讲,管理通过计划、 组织、指导与领导、控制等手段,为组织制定目标,应用组织的各种要素,以实现 组织的目标。本世纪以来,由于社会生产力的迅速发展和科学技术的突飞猛进,人 们进行信息交流的深度和广度不断增加,管理所需要的信息量急剧增长,同时对信 息的处理要求及时、准确,这导致了传统的信息处理方法和手段已不能适应现代管 理的需要;传统的企业管理活动中,把人、才、物作为企业的主要资源。但是随着 社会化大生产的不断扩大和社会对产品多样化的需求,人们越来越重视信息在生产 经营及企业管理中的作用,并把它当作企业的一种极其重要的资源,人们称之为 “信息资源” ,信息资源的处理已经成为当今世界上一项主要的社会活动。电子计算 机的诞生 “信息时代”的开始,它使企业管理现代化成为可能。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认 识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对通讯录进行管理,有着手工管理所无法 比拟的优点.例如: 浏览迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、 成本低等。这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规 4 化管理,与世界接轨的重要条件。 因此,开发这样一套软件成为很有必要的事情,在下面的正文中我们将以开发通 讯录管理系统系统为例,谈谈其开发过程和所涉及到的问题及解决方法。 5 第二章第二章 开发技术及技术开发技术及技术 2.12.1 开发技术开发技术 2.1.1mvc mvc 全名是 model view controller,是模型(model)视图(view)控制器 (controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方 法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交 互的同时,不需要重新编写业务逻辑。mvc 被独特的发展起来用于映射传统的输入、 处理和输出功能在一个逻辑的图形化用户界面的结构中。 mvc 开始是存在于桌面程序中的,m 是指业务模型,v 是指用户界面,c 则是 控制器,使用 mvc 的目的是将 m 和 v 的实现代码分离,从而使同一个程序可以使 用不同的表现形式。比如一批统计数据可以分别用柱状图、饼图来表示。c 存在的 目的则是确保 m 和 v 的同步,一旦 m 改变,v 应该同步更新。 模型视图控制器(mvc)是 xerox parc 在二十世纪八十年代为编程语言 smalltalk80 发明的一种软件设计模式,已被广泛使用。后来被推荐为 oracle 旗下 sun 公司 java ee 平台的设计模式,并且受到越来越多的使用 coldfusion 和 php 的 开发者的欢迎。模型视图控制器模式是一个有用的工具箱,它有很多好处,但 也有一些缺点。 2.1.2jdk jdk(java development kit)是 sun microsystems 针对 java 开发员的产品。自从 java 推出以来,jdk 已经成为使用最广泛的 java sdk(software development kit) 。 jdk 是整个 java 的核心,包括了 java 运行环境,一堆 java 工具和 java 基础的类库 (rt.jar)。不论什么 java 应用服务器实质都是内置了某个版本的 jdk。因此掌握 jdk 是学好 java 的第一步。最主流的 jdk 是 sun 公司发布的 jdk,除了 sun 之外,还 有很多公司和组织都开发了自己的 jdk,例如 ibm 公司开发的 jdk,bea 公司的 jrocket,还有 gnu 组织开发的 jdk 等等。其中 ibm 的 jdk 包含的 jvm 运行效率 要比 sun jdk 包含的 jvm 高出许多。而专门运行在 x86 平台的 jrocket 在服务端运 行效率也要比 sun jdk 好很多。从 sun 的 jdk5.0 开始,提供了泛型等非常实用的功 能,其版本信息也不再延续以前的 1.2,1.3,1.4,而是变成了 5.0,6.0 了。从 7.0 开 始,其运行效率得到了非常大的提高,现在已有 8.0 问世了。 6 2.1.3swing 图形用户界面(graphical user interface,gui) 。swing 是一个用于开发 java 应用 程序用户界面的开发工具包。它以抽象窗口工具包(awt)为基础使跨平台应用程 序可以使用任何可插拔的外观风格。swing 开发人员只用很少的代码就可以利用 swing 丰富、灵活的功能和模块化组件来创建优雅的用户界面。 工具包中所有的包 都是以 swing 作为名称,例如 javax.swing,javax.swing.event 2.1.4java java 语言是一种面向对象的编程语言,是 sun microsystems 开发的编程平台。 java 技术基于单一 java 虚拟机(jvm)的概念,jvm 是编程语言与机器底层软件和硬 件之间的翻译器。编程语言的所有实现都必须模拟 jvm,从而使 java 程序可以在具 有 jvm 版本的任何系统上运行。 java 编程语言是与众不同的,因为 java 程序需要经过编译(翻译为叫做 java 字 节码的中间语言)和解释(通过 jvm 分析和运行字节码) 。编译只进行一次,而解释 则在每次运行程序时都要进行。java 语言具有简单、面向对象、分布性、解释型、 安全性、平台无关性、可移植性、高性能、支持语言级多线程等优点。广泛应用于 个人 pc、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有 全球最大的开发者专业社群。 java 自问世以来,以其得天独厚的优势,在 it 业界掀起了研究、开发它的浪潮, 显示出了美好的发展前景。作为一种与底层硬件无关的、 “编写一次,到处运行”的高 级语言和计算平台,java 天生就具有将网络上的各个平台连成一体的能力,真正实 现了“网络就是计算机”的理念。在全球云计算和移动互联网的产业环境下,java 更 具备了显著优势和广阔前景。 2.22.2 开发工具开发工具 2.1.1myelipse myeclipse 企业级工作平台(myeclipseenterprise workbench ,简称 myeclipse)是对 eclipseide 的扩展,利用它我们可以在数据库和 javaee 的开发、 发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的 javaee 集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持 html,struts,jsp,css,javascript,spring,sql,hibernat 。 7 myeclipse 是一个十分优秀的用于开发 java, j2ee 的 eclipse 插件集合, myeclipse 的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不 错。myeclipse 目前支持 javaservlet,ajax,jsp,jsf,struts,spring,hibernate,ejb3,jdbc 数据库链 接工具等多项功能。可以说 myeclipse 是几乎囊括了目前所有主流开源产品的专属 eclipse 开发工具。 2.1.2mysql 及及 mysql 是一个关系型数据库管理系统,由瑞典 mysql ab 公司开发,目前属于 oracle 公司。mysql 是最流行的关系型数据库管理系统,在 web 应用方面 mysql 是最好的 rdbms(relational database management system:关系数据库管理 系统)应用软件之一。mysql 是一种关联数据库管理系统,关联数据库将数据保存 在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了 灵活性。mysql 所使用的 sql 语言是用于访问数据库的最常用标准化语言。 mysql 软件采用了双授权政策(本词条“授权政策”) ,它分为社区版和商业版,由 于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网 站的开发都选择 mysql 作为网站数据库。由于其社区版的性能卓越,搭配 php 和 apache 可组成良好的开发环境。 2.1.3navicat for mysql navicat for mysql 是一款强大的 mysql 数据库管理和开发工具,它为专业 开发者提供了一套强大的足够尖端的工具,但对于新用户仍然易于学习。navicat for mysql 基于 windows 平台,为 mysql 量身订作,提供类似于 mysql 的用管 理界面工具。此解决方案的出现,将解放 php、j2ee 等程序员以及数据库设计者、 管理者的大脑,降低开发成本,为用户带来更高的开发效率。 navicat for mysql 使用了极好的图形用户界面(gui),可以用一种安全和更 为容易的方式快速和容易地创建、组织、存取和共享信息。 用户可完全控制 mysql 数据库和显示不同的管理资料,包括一个多功能的图形化管理用户和访问 权限的管理工具,方便将数据从一个数据库转移到另一个数据库中(local to remote、remote to remote、remote to local),进行档案备份。 navicat for mysql 支援 unicode,以及本地或远程 mysql 服务器多连线,用户可浏览数据 库、建立和删除数据库、编辑数据、建立或执行 sql queries、管理用户权限(安全 设定)、将数据库备份/复原、汇入/汇出数据(支援 csv, txt, dbf 和 xml 档 案种类)等。软件与任何 mysql 5.0.x 伺服器版本兼容,支援 triggers,以及 binary varbinary/bit 数据种类等的规范。 8 第三章第三章 系统的需求分析系统的需求分析 3.13.1 系统功能分析系统功能分析 由于计算机科学技术的快速发展,开发一个通讯录管理系统管理自己联系人信 息非常必要,可以提高我们办事的效率。经过多方面的思考与查询,系统的设计出 通讯录系统的功能。系统分为四大模块:用户登录,联系人信息维护,查找联系人, 用户信息维护。 功能模块功能模块: pig.3-1 function module 图图 3-1 功能模块功能模块 3.2.1用户登录模块用户登录模块 据用户名和初始密码进行登录,验证通过后进入主窗体,输入有误则提示错误 消息,要求用户重新输入,直到成功登录。在用户登录前,其他人无法对联系人信 息进行操作。 3.1.1联系人信息维护模块联系人信息维护模块 (1)修改联系人信息:可以修改联系人信息,如:由于联系人更换电话或则家庭 住址等等,进行修改操作。 通讯录系 统 联系人信 息删除 联系人信 息排序 联系人信 息添加 按编号查 询 按编号排 序 按姓名排 序 联系人信 息浏览 联系人信 息查询 按姓名查 询 9 (2)删除联系人信息:可以删除这个联系人的具体信息。如:这个联系人的联系 方式已经改变而暂时找不到新的方式时,可以删除这个。 (3)增加联系人信息:可以增加新的联系人的联系方式,包括姓名,电话,邮箱 家庭住址等等。 3.1.2查找联系人查找联系人 可以按数据库任意字段名查找联系人,将查询结果显示在软件主界面的表格中, 以便查看联系人详细信息。 按姓名排序、按姓名查询、快速查询。 3.1.3用户信息维护用户信息维护 将用户的操作请求发送至客户端,客户端收到用户操作请求,验证通过,对数 据库中的数据进行操作,然后返回提示信息。若验证没有通过,则返回主窗体. 3.23.2 系统用例分析系统用例分析 3.2.2参与者分析参与者分析 该系统的参与者为 administrator,printer,db,各自的主要任务为: (1)administrator:该参与者为系统登录用户,主要工作是对通讯录中的联系人的 更新与维护,包括通讯录中的联系人的信息维护等。 (2)printer:该参与者主要工作是把用户所需要的信息显示在界面上,如用户查 询的列表信息显示。 (3)db:该参与者为数据库系统,主要工作是搜集信息,提供搜索功能,方便用 户对联系人的信息查找,更新,删除,增加等。 该系统的参与者在 uml 中的描述如图所示: printer 显示数据库管理员系统管理员 pig.3-2pig.3-2 schematicschematic diagramdiagram ofof thethe participantsparticipants 图图 3-23-2 参与者示意图参与者示意图 10 通讯录管理系统程序流程图:通讯录管理系统程序流程图: pig.3-3 the program flow chart 图图 3-3 程序流程图程序流程图 3.2.3系统主用例识别系统主用例识别 通过认真分析与思考,我认为自己的系统按照设计图大致将该系统的 参与者,主用例和主用例的功能描述如下: (1)联系人信息维护: 该主用例主要是对联系人的详细信息进行维护,通过对信息的维护可以确保自 己人际交往的良好,保证日常生活的次序。 (2)查找联系人: 该用例主要方便用户在第一时间可以很快提取到想要的联系人的各种 信息,方便,快捷。系统的主用例图如图所示: 按 编 号 查 询 按 姓 名 查 询 通讯录管理系统 浏览信息查询信息添加信息排序信息 删除信息 按 编 号 查 询 按 姓 名 查 询 11 printer 显示 系统管理员 联系人信息查询 联系人信息维护 pig.3-4 the main intention with instantiation 图图 3-4 主用例示意图主用例示意图 3.2.4系统子用例识别系统子用例识别 联系人信息维护主用例主要包含以下子用例,各子用例描述如下: (1)增加联系人功能: 该功能主要是针对用户在人际交往中认识新的朋友和伙伴,为了更好的相 处及增进友谊,对方留下自己的各种联系方式,包括电话,手机,邮箱,家庭 住址等等。 (2)更新联系人功能: 该功能主要是针对用户在于朋友,亲戚的友好相处中,由于对方更换联系 方式,并且及时告诉用户信息,用户可以根据对方告知的信息进行更新,方便 日后联系。 (3)删除联系人功能: 该功能主要是对联系人信息的删除。该主用例与子用例之间的关系描述如 图所示: 12 系统管理员 联系人信息维护 添加联系人信息 更新联系人信息 删除联系人信息 pig.3-5 the main case and son with exemplary intention 图图 3-5 主用例与子用例示意图主用例与子用例示意图 3.33.3 数据库分析数据库分析 通讯录管理系统是方便大众日常生活的工具,为了迎合大众需求,具体有浏览 信息、查询信息、添加和删除信息,及排序等功能。这就要求数据库结构能充分满 足各种信息的输入与输出,实现有组织地,动态储存大量关联数据,方便用户访问 系统中的数据。 3.3.1概念结构设计概念结构设计 根据需求分析抽象出信息结构,可得该系统的 e-r 图。 (1). 用户 e-r 图 pig.3-6 the user e-r diagram 图图 3-6 用户用户 e-r 图图 登陆用户 用户 名 密码 13 根据分 e-r 图和需求分析,可得到总 e-r 图 联系人 年龄 qq 电话 性别 姓名 邮政编码 家庭住址 邮箱 pig.3-7 the overall e-r diagram 图图 3-7 总体总体 e-r 图图 3.3.2逻辑结构设计逻辑结构设计 基本信息表 friend 用来保存姓名、电话、家庭住址、邮箱信息。表 friend 的结 构如表 3-1 所示。 table 3-1 structure for table friend 表表 3-1 表表 friend 的结构的结构 编号字段名称数据结构说明 1namechar联系人姓名 2telechar联系人电话 3adderchar联系人家庭住址 4mailchar联系人邮箱 5sexchar性别 6ageint年龄 14 3.3.3数据库表的建立数据库表的建立 在设计数据库表结构之前,首先要创建一个数据库。本系统使用的数据库为 friend。 创建表 friend(基本信息表) ,它的代码如下: create table friend (name char (20) primary key , tele char(20), addr char(30), mail char(20) ) go 15 第四章第四章 系统实现系统实现 4.1 数据库的实现数据库的实现 数据库连接数据库连接 package connect_sql; import java.sql.connection; import java.sql.drivermanager; import java.sql.sqlexception; public class connects private string dbdriver = “com.mysql.jdbc.driver“; private string url = “jdbc:mysql:/localhost/new_db“; private connection con = null; public connects() try class.forname(dbdriver).newinstance(); /数据库驱动 try con = drivermanager.getconnection(url, “root“, “123“); system.out.println(“提示:数据库加载成功!“);/加载数据库 catch (sqlexception e) e.printstacktrace(); catch (instantiationexception e) e.printstacktrace(); catch (illegalaccessexception e) e.printstacktrace(); catch (classnotfoundexception e) 16 e.printstacktrace(); public connection getconnection() return con; 4.2 系统功能实现系统功能实现 4.2.1系统登录界面:系统登录界面: 登录功能:登录功能: private void jbutton1actionperformed(java.awt.event.actionevent evt) int i = 0; flag0 = 1; userdao user = new userdao(); if (user.queryuser(jtextfield1.gettext().trim(), jpasswordfield1 gettext().trim() mainfrom fr = new mainfrom(); fr.setvisible(true); this.dispose(); else i+; if (i = 3) joptionpane.showmessagedialog(this, “用户名或密码请重新登录!“); jtextfield1.settext(“); jpasswordfield1.settext(“); else this.dispose(); 17 重置功能(代码):重置功能(代码): private void jbutton2actionperformed(java.awt.event.actionevent evt) jtextfield1.settext(“); jpasswordfield1.settext(“); 4.2.2系统主界面:系统主界面: 42.2.1 浏览联系人信息:浏览联系人信息: private void jbutton6actionperformed(java.awt.event.actionevent evt) view ft = new view(); ft.setvisible(true); 42.2.2 查询联系人信息:查询联系人信息: private void jbutton1actionperformed(java.awt.event.actionevent evt) search fr = new search(); fr.setvisible(true); 42.2.3 添加联系人信息:添加联系人信息: private void jbutton2actionperformed(java.awt.event.actionevent evt) add ft = new add(); ft.setvisible(true); 42.2.4 删除联系人信息:删除联系人信息: private void jbutton3actionperformed(java.awt.event.actionevent evt) delete ft = new delete(); ft.setvisible(true); 42.2.5 排序联系人信息:排序联系人信息: private void jbutton4actionperformed(java.awt.event.actionevent evt) sort ft = new sort(); 18 ft.setvisible(true); 4.3 功能模块的实现功能模块的实现 .1 浏览联系人信息功能:浏览联系人信息功能: private void jbutton1actionperformed(java.awt.event.actionevent evt) object title = “编号“, “姓名“, “性别“, “电话“, “年龄“, “邮政编码“, “家庭住 址“, “qq“ ; string str = (string) jcombobox1_view.getselecteditem(); string sql = “select * from stuinfo“; resultset rs1 = choose.dataselect(sql); int i = 0; try while (rs1.next() i+; catch (sqlexception e) e.printstacktrace(); object data = new objecti + 18; if (str.equals(“全部信息“) sql = “select * from stuinfo“; else sql = “select * from stuinfo where qq=“ + str + “; resultset rs = choose.dataselect(sql); int j = 0; try while (rs.next() dataj0 = rs.getstring(1); dataj1 = rs.getstring(2); 19 dataj2 = rs.getstring(3); dataj3 = rs.getstring(4); dataj4 = rs.getstring(5); dataj5 = rs.getstring(6); dataj6 = rs.getstring(7); dataj7 = rs.getstring(8); j+; catch (sqlexception e) e.printstacktrace(); jtable table = new jtable(data, title); jscrollpane1.setviewportview(table); jscrollpane1.revalidate(); .2 查询联系人查询联系人信息功能: private void jbutton_search1actionperformed(java.awt.event.actionevent evt) object title = “编号“, “姓名“, “性别“, “电话“, “邮政编码“, “家庭住址“, “qq“ ; string str1 = (string) jcombobox_search1.getselecteditem(); string str2 = jtextfield_search1.gettext(); string sql = null; if (str1.equals(“编号“) sql = “select * from stuinfo where 编号=“ + str2 + “; else if (str1.equals(“姓名“) sql = “select * from stuinfo where 姓名=“ + str2 + “; else if (str1.equals(“qq“) sql = “select * from stuinfo where qq=“ + str2 + “; 20 resultset rs = choose.dataselect(sql); object datas = new object508; try int j = 0; while (rs.next() datasj0 = rs.getstring(1); datasj1 = rs.getstring(2); datasj2 = rs.getstring(3); datasj3 = rs.getstring(4); datasj4 = rs.getstring(5); datasj5 = rs.getstring(8); datasj6 = rs.getstring(6); datasj7 = rs.getstring(7); j+; catch (sqlexception e1) e1.printstacktrace(); jtable table = new jtable(datas, title); jscrollpane1.setviewportview(table); jscrollpane1.revalidate(); .3 添加联系人信息功能:添加联系人信息功能: 添加:添加: private void jbutton1actionperformed(java.awt.event.actionevent evt) string option = “添加“, “修改“ ; int n = joptionpane.showoptiondialog(this, “请仔细检查信息,确定添加?“, “ 添加信息“, 21 joptionpane.yes_no_option, joptionpane.warning_message, null, option, option1); if (n = 0) /获取添加的内容 string acctnum = jtextfield1.gettext(); string name = jtextfield2.gettext(); string sex = jtextfield3.gettext(); string mobile = jtextfield4.gettext(); string academy = jtextfield5.gettext(); string major = jtextfield6.gettext(); string adress = jtextfield7.gettext(); string classes = jtextfield8.gettext(); /插入内容 string sql = “insert into stuinfo values(“ + acctnum + “, “ + name + “, “ + sex + “, “ + mobile + “, “ + academy + “, “ + major + “, “ + adress + “, “ + classes + “)“; choose.datainsert(sql); joptionpane.showmessagedialog(this, “添加成功!“, “提示“, joptionpane.information_message); jbutton2actionperformed(evt); 重置:重置: private void jbutton2actionperformed(java.awt.event.actionevent evt) jtextfield1.settext(“); jtextfield2.settext(“); jtextfield3.settext(“); jtextfield4.settext(“); 22 jtextfield5.settext(“); jtextfield6.settext(“); jtextfield7.settext(“); jtextfield8.settext(“); .4 删除联系人信息功能:删除联系人信息功能: private void jbutton1actionperformed(java.awt.event.actionevent evt) string str = (string) jcombobox1_view.getselecteditem(); string str2 = jtextfield1.gettext(); string sql = null; if (str.equals(“编号“) sql = “select * from stuinfo where 编号=“ + str2 + “; else sql = “select * from stuinfo where 姓名=“ + str2 + “; resultset rs = choose.dataselect(sql); try while (rs.next() jtextfield2_acctnum.settext(rs.getstring(1); jtextfield9_name.settext(rs.getstring(2); jtextfield3_sex.settext(rs.getstring(3); jtextfield4_mobile.settext(rs.getstring(4); jtextfield5_academy.settext(rs.getstring(5); jtextfield6_major.settext(rs.getstring(6); jtextfield7_address.settext(rs.getstring(7); jtextfield8_class.settext(rs.getstring(8); catch (sqlexception e) e.printstacktrace(); 23 string option = “删除“, “修改“ ; int n = joptionpane.showoptiondialog(this, “请仔细核对信息,确认删除?“, “ 删除信息“, joptionpane.yes_no_option, joptionpane.warning_message, null, option, option1); if (n = 0) if (str.equals(“编号“) sql = “delete from stuinfo where 编号=“ + str2 + “; else sql = “delete from stuinfo where 姓名=“ + str2 + “; choose.datadelete(sql); joptionpane.showmessagedialog(this, “删除成功!“, “提示“, joptionpane.information_message); jtextfield2_acctnum.settext(“); jtextfield9_name.settext(“); jtextfield3_sex.settext(“); jtextfield4_mobile.settext(“); jtextfield5_academy.settext(“); jtextfield6_major.settext(“); jtextfield7_address.settext(“); jtextfield8_class.settext(“); .5 排序排序联系人信息功能联系人信息功能 private void jbutton1actionperformed(java.awt.event.actionevent evt) string str = (string) jcombobox1.getselecteditem(); object title = “姓名“, “编号“, “qq“ ; 24 string sql = null; if (str.equals(“编号“) sql = “select * from stuinfo order by 编号 asc“; else if (str.equals(“姓名“) sql = “select * from stuinfo order by 姓名 asc“; else sql = “select * from stuinfo order by qq asc“; resultset rs = choose.dataselect(sql); object datas = new object518; try int j = 0; while (rs.next() datasj0 = rs.getstring(1); datasj1 = rs.getstring(2); datasj2 = rs.getstring(3); datasj3 = rs.getstring(4); datasj4 = rs.getstring(5); datasj5 = rs.getstring(6); datasj6 = rs.getstring(7); datasj7 = rs.getstring(8); j+; catch (sqlexception e1) e1.printstacktrace(); jtable table = new jtable(datas, title); jscrollpane1.setviewportview(table); jscrollpane1.revalidate(); 25 第五章第五章 系统测试系统测试 5.1 登陆用例的程序设计登陆用例的程序设计 登陆界面如图所示: pig.5-1 login interface diagram 图图 5-1 登录界面图登录界面图 在窗体上分别设置它们属性:窗体的标题为“login”,两个文本框分别对应 “username”和“password”,其它部分是由 swing 的图形完成设置的。 界面设置代码为: private static final long serialversionuid = -8166865260561556563l; clientcontext clientcontext; label labname=new label(“username:“); label labload=new label(“password:“); /textfield texfload=new textfield(10); jtextfield texfname=new jtextfield(10); jbutton butlogin=new jbutton(“login“); jbutton butcancel=new jbutton(“canel“); jpasswordfield jpass=new jpasswordfield(10); public loginframe() super(“login“); container c=getcontentpane(); 26 borderlayout d=new borderlayout(); c.setlayout(d); jpass.setechochar(*); getrootpane().setdefaultbutton(butlogin);/默认按钮可以相应回车请求 butlogin.addactionlistener(this); butcancel.addactionlistener(this); panel p1=new panel(); panel p2=new panel(); panel p3=new panel(); p1.add(labname); p1.add(texfname); p2.add(labload); p2.add(jpass); p3.add(butlogin); p3.add(butcancel); c.add(p1,borderlayout.north); c.add(p2,borderlayout.center); c.add(p3,borderlayout.south); this.setsize(280,150); this.setlocation(450,300); 当点击登陆所触发事件代码为: public void actionperformed(actionevent e) if(e.getsource()=butlo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年高级运维工程师面试必-备知识点与模拟题集
- 2025年特岗教师招聘面试小学英语预测题
- 2025年中级火电运行值班员考试模拟试题与解析
- 2025年仓库保管员岗位应聘常见问题及答案解析
- 2025年高级财务会计实操教程与模拟试题库指南
- 2025年特岗教师招聘面试高中化学冲刺题
- 布病防控知识培训
- 2025年漆包线项目申请报告
- 2025年特种作业类特种设备作业-压力管道巡检维护D1参考题库含答案解析
- 2025年发热管项目立项申请报告
- 2025年建筑材料行业当前发展趋势与投资机遇洞察报告
- 《金色的鱼钩》学生版
- 四川省达川市2025年上半年事业单位公开招聘试题含答案分析
- (2025年标准)强奸私了协议书
- 2025年电梯安全管理员试题及答案
- 2025年赛码考试题库
- 2025年餐饮经理人岗位胜任力评估试题及答案
- 中石化班组管理办法
- 肿瘤患者健康宣教
- 教师信息技术能力提升培训
- 对便秘患者的健康教育
评论
0/150
提交评论