JAVA通讯录管理系统设计与实现本科毕业论文_第1页
JAVA通讯录管理系统设计与实现本科毕业论文_第2页
JAVA通讯录管理系统设计与实现本科毕业论文_第3页
JAVA通讯录管理系统设计与实现本科毕业论文_第4页
JAVA通讯录管理系统设计与实现本科毕业论文_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本科毕业论文(设计)题 目通讯录管理系统系别网络与继续教育部专业计算机科学技术与应用年级2011级学号322012351001034姓名李本城指导教师丁华锋成绩2014年 11月 11 日 目录文 献 综 述 错误!未定义书签。 TOC o 1-5 h z HYPERLINK l bookmark6 o Current Document 第一章 引言 3通讯录的现状和背景 . 3 HYPERLINK l bookmark8 o Current Document 第二章 开发技术及技术 5开发技术 5开发工具 6 HYPERLINK l bookmark24 o Current Document

2、 第三章 系统的需求分析 83.1 系统功能分析 83.2 系统用例分析 9数据库分析 12 HYPERLINK l bookmark26 o Current Document 第四章 系统实现 154.1 数据库的实现 154.2 系统功能实现 164.3 功能模块的实现 18 HYPERLINK l bookmark46 o Current Document 第五章 系统测试 255.1 登陆用例的程序设计 25登录成功 : 登录用户登录成功后转向主窗体 28登录用户对联系人信息的管理操作 30第六章 总 结 42致 谢 43参 考 文 献 44文献综述通讯录管理系统的设计与实现李本城西南

3、大学荣昌校区信息管理系 重庆荣昌 402460摘要: 随着社会的发展,人际关系变得越来越重要,为了保持良好的人际关系,必须经常与亲 戚、朋友、同学、同事保持联系,但是有时候存在着许多的限制条件,比如怎样找到交流对象的 各种信息?可能你会想到现实生活中的手机等通讯工具,由于这些工具的单一性,不可能在第一 时间找到自己想要的信息资料,因此,为了能够快速查找到联系人的信息,节省查找时间,开发 通讯录管理系统。通讯录管理系统是一个基于 C/S 模式的个人通讯录管理系统。 它是将自己的联系人的具体信 息集中管理,成为一个方便人们使用的小软件。在开发过程中主要运用 Java,JDK,MySQL,SWING

4、 等技术 , 由于开发工具和数据库之间的良好使用,可以为开发带来方便,使之成为一个可施行的 系统。从而达到开发的目的 实现对通讯录信息的管理。“优秀的人际关系是一个人成功的重要因素”这已经成为不争的事实,这些日益繁多的人际 交往使得我们很难搞清楚与每个人具体的联系方式,这严重影响了一个人的发展,所以通讯录管 理系统的建立已是必要的了,此次课程设计我利用了数据结构中的知识以及 JAVA 语言的知识设 计的通讯录管理系统能够达到快速了解联系人信息,通讯录管理系统主要包括:1通讯录链表的建立 2通讯者结点的插入 3通讯者结点的查询 4通讯者结点的删除 5通讯录链表的输出 0退出通讯录管理系统。你能够

5、通过本系统了解联系人的姓名、手机、家庭地址,你也可以根 据自己的需要改变系统的信息,也可以浏览全部通讯的联系人,并且可以根据数据表的各字段来 查询你所要找的联系人等功能。相信通过使用该通讯录管理系统能够更加便利你的生活,为你的 良好的人际关系添砖加瓦,帮助你走向成功。目前的信息通信能力已经走超出了我们的想象,越 来越多的通信工具出现,但无论是何种工具,其基本的一项功能就是记录通信者的信息,也便在 需要时进行查寻。关 键 词:个人通讯录管理系统、添加、删除、查找、数据库第一章 引言通讯录的现状和背景俗话说: ”海内存知己,天涯若比邻” ,在现在竞争激烈,快节奏的生活中,人们 之间的交流变得十分重

6、要。随着计算机技术的飞速发展,计算机在企业管理和个人生活中的应用越来越普 及,越来越重要。利用计算机实现公司往来通讯或个人的通讯管理显得越来越重要。 对于用户来说, 利用计算机高效率地完成通讯录的查询, 是适应现代通讯录管理制度 要求,而销售管理是一项琐碎、复杂而又十分细致的工作,一般不允许出错,如果实 行手工操作,须手工填制大量的表格数据,这就会耗费工作人员大量的时间和精力, 计算机进行销售管理工作, 不仅能够保证工作准确无误、 快速完成, 而且还可以利用 计算机对有关商品的各种信息进行管理, 服务于企业的各个部门, 同时计算机具有手 工管理所无法比拟的优点 . 例如: 检索迅速、查找方便、

7、可靠性高、存储量大、保密性 好、寿命长、成本低等。这些优点能够极大地提高企业销售管理的效率, 也是企业的科学化、正规化管理,与世界接轨的重要条件。在现代社会中管理的作用越来越显得重要和突出。一般来讲,管理通过计划、组 织、指导与领导、控制等手段,为组织制定目标,应用组织的各种要素,以实现组织 的目标。本世纪以来, 由于社会生产力的迅速发展和科学技术的突飞猛进, 人们进行 信息交流的深度和广度不断增加, 管理所需要的信息量急剧增长, 同时对信息的处理 要求及时、准确,这导致了传统的信息处理方法和手段已不能适应现代管理的需要; 传统的企业管理活动中,把人、才、物作为企业的主要资源。但是随着社会化大

8、生产 的不断扩大和社会对产品多样化的需求, 人们越来越重视信息在生产经营及企业管理 中的作用,并把它当作企业的一种极其重要的资源,人们称之为“信息资源” ,信息 资源的处理已经成为当今世界上一项主要的社会活动。 电子计算机的诞生 “信息时 代”的开始,它使企业管理现代化成为可能。随着科学技术的不断提高 ,计算机科学日渐成熟 , 其强大的功能已为人们深刻认 识, 它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分 ,使用计算机对通讯录进行管理 , 有着手工管理所无法 比拟的优点 . 例如: 浏览迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、 成本低等。这些优点能够

9、极大地提高人事劳资管理的效率 , 也是企业的科学化、正规 化管理, 与世界接轨的重要条件。因此,开发这样一套软件成为很有必要的事情 , 在下面的正文中我们将以开发通 讯录管理系统系统为例 , 谈谈其开发过程和所涉及到的问题及解决方法。第二章开发技术及技术2.1开发技术MVCMVC 全名是 Model View Controller,是模型(model)视图(view)控制器(con troller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方 法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互 的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用

10、于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是 控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使 用不同的表现形式。比如一批统计数据可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。模型视图控制器(MVC )是Xerox PARC在二十世纪八十年代为编程语言 Smalltalk 80发明的一种软件设计模式,已被广泛使用。后来被推荐为Oracle旗下Sun公司Java EE平台的设计模式,并且受到越来越多的使用 ColdFusion和PHP

11、的开 发者的欢迎。模型-视图-控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。JDKJDK(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之外

12、,还有很多公 司和组织都开发了自己的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问世了。SWING图形用户界面(Graphical User Interface,GUI)。Sw

13、ing是一个用于开发Java应用 程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。工具包中所有的包都是以 swing 作为名称,例如 javax.swingjavax.swing.eventJavaJava语言是一种面向对象的编程语言,是Sun Microsystems开发的编程平台。Java 技术基于单一 Java虚拟机(JVM)的概念,JVM是编程语言与机器底层软件和硬件之 间的翻译器。编程语言的所有实现都必须模拟 JVM,从而使J

14、ava程序可以在具有JVM 版本的任何系统上运行。Java编程语言是与众不同的,因为 Java程序需要经过编译(翻译为叫做 Java字 节码的中间语言)和解释(通过JVM分析和运行字节码)。编译只进行一次,而解释 则在每次运行程序时都要进行。Java语言具有简单、面向对象、分布性、解释型、安 全性、平台无关性、可移植性、高性能、支持语言级多线程等优点。广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球 最大的开发者专业社群。Java自问世以来,以其得天独厚的优势,在IT业界掀起了研究、开发它的浪潮, 显示出了美好的发展前景。作为一种与底层硬件无关的、编写一

15、次,到处运行”的高级语言和计算平台,Java天生就具有将网络上的各个平台连成一体的能力,真正实现了网络就是计算机”的理念。在全球云计算和移动互联网的产业环境下,Java更具备 了显著优势和广阔前景。2.2开发工具MyElipseMyEclipse 企业级工作平台(MyEclipseEnterprise Workbench,简称 MyEclipse) 是对EclipseIDE的扩展,利用它我们可以在数据库和 JavaEE的开发、发布以及应用 程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境, 包括了完备的编码、调试、测试和发布功能,完整支持 HTML, Struts

16、,JSP, CSS, Javascript, Spring,SQL,HibernaF。MyEclipse是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不 错。MyEclipse 目前支持 JavaServIe,AJAX,JSP, JSF, Struts,Spring, Hibernate,EJB3, JDBC数据库链接工具等多项功能。可以说MyEclipse是几乎囊括了目前所有主流开源产品的专属eclipse开发工具。MySQL 及MySQL是一个关系型数据库管理系统,由瑞典MySQL AB

17、公司开发,目前属于 Oracle公司。MySQL是最流行的关系型数据库管理系统,在WEB应用方面MySQL 是最好的RDBMS(Relational Database Management System关系数据库管理系统)应用 软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表 中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采 用了双授权政策(本词条 授权政策”,它分为社区版和商业版,由于其体积小、速 度快、总体拥有成本低,尤其是 开放源码这一特点,一般中小型网站的开

18、发都选择 MySQL作为网站数据库。由于其社区版的性能卓越,搭配 PHP和Apache可组成良 好的开发环境。Navicat for MySQLNavicat for MySQL是一款强大的MySQL数据库管理和开发工具,它为专业开 发者提供了一套强大的足够尖端的工具,但对于新用户仍然易于学习。Navicat forMySQL基于Windows平台,为 MySQL量身订作,提供类似于 MySQL的用管理 界面工具。此解决方案的出现,将解放 PHP、J2EE等程序员以及数据库设计者、管 理者的大脑,降低开发成本,为用户带来更高的开发效率。Navicat for MySQL使用了极好的图形用户界面

19、(GUI),可以用一种安全和更 为容易的方式快速和容易地创建、组织、存取和共享信息。用户可完全控制MySQL 数据库和显示不同的管理资料,包括一个多功能的图形化管理用户和访问权限的管理 工具,方便将数据从一个数据库转移到另一个数据库中(Local to Remote、Remote toRemote Remote to Local),进行档案备份。Navicat for MySQL 支援 Unicode,以及本地或远程MySQL服务器多连线,用户可浏览数据库、建立和删除数据库、编 辑数据、建立或执行SQL queries、管理用户权限(安全设定)、将数据库备份/复原、 汇入/汇出数据(支援CSV

20、, TXT, DBF和XML档案种类)等。软件与任何MySQL 5.0.x伺服器版本兼容,支援 Triggers,以及BINARY VARBINARY/BIT数据种类等的规范。第三章系统的需求分析3.1系统功能分析由于计算机科学技术的快速发展, 开发一个通讯录管理系统管理自己联系人信息 非常必要,可以提高我们办事的效率。经过多方面的思考与查询,系统的设计出通讯 录系统的功能。系统分为四大模块:用户登录,联系人信息维护,查找联系人,用户 信息维护。功能模块:Pig.3-1 Function module图3-1功能模块3.2.1 用户登录模块据用户名和初始密码进行登录,验证通过后进入主窗体,输入

21、有误则提示错误 消息,要求用户重新输入,直到成功登录。在用户登录前,其他人无法对联系人信 息进行操作。3.1.1 联系人信息维护模块修改联系人信息:可以修改联系人信息,如:由于联系人更换电话或则家庭 住址等等,进行修改操作。删除联系人信息:可以删除这个联系人的具体信息。如:这个联系人的联系方式已经改变而暂时找不到新的方式时,可以删除这个。(3)增加联系人信息:可以增加新的联系人的联系方式,包括姓名,电话,邮箱 家庭住址等等。查找联系人可以按数据库任意字段名查找联系人,将查询结果显示在软件主界面的表格中, 以便查看联系人详细信息。按姓名排序、按姓名查询、快速查询。用户信息维护将用户的操作请求发送

22、至客户端,客户端收到用户操作请求,验证通过,对数据 库中的数据进行操作,然后返回提示信息。若验证没有通过,则返回主窗体3.2系统用例分析322参与者分析该系统的参与者为 Administrator,Printer,DB,各自的主要任务为:Administrator :该参与者为系统登录用户,主要工作是对通讯录中的联系人的 更新与维护,包括通讯录中的联系人的信息维护等。Printer:该参与者主要工作是把用户所需要的信息显示在界面上,如用户查询 的列表信息显示。DB :该参与者为数据库系统,主要工作是搜集信息,提供搜索功能,方便用 户对联系人的信息查找,更新,删除,增加等。该系统的参与者在UML

23、中的描述如图所示:系统管理员数据库管理员Printer显示Pig.3-2 Schematic diagram of the participa nts图3-2参与者示意图通讯录管理系统程序流程图:Pig.3-3 The program flow chart图3-3程序流程图3.2.3系统主用例识别322.1通过认真分析与思考,我认为自己的系统按照设计图大致将该系统的参与者,主用例和主用例的功能描述如下:联系人信息维护:该主用例主要是对联系人的详细信息进行维护,通过对信息的维护可以确保自 己人际交往的良好,保证日常生活的次序。查找联系人:该用例主要方便用户在第一时间可以很快提取到想要的联系人的各

24、种信息,方便,快捷。系统的主用例图如图所示:系统管理员Printer 显示Pig.3-4 The main intention with instantiation图3-4主用例示意图3.2.4 系统子用例识别联系人信息维护主用例主要包含以下子用例,各子用例描述如下:(1)增加联系人功能:该功能主要是针对用户在人际交往中认识新的朋友和伙伴,为了更好的相处 及增进友谊,对方留下自己的各种联系方式,包括电话,手机,邮箱,家庭住更新联系人功能:该功能主要是针对用户在于朋友,亲戚的友好相处中,由于对方更换联系方 式,并且及时告诉用户信息,用户可以根据对方告知的信息进行更新,方便日 后联系。删除联系人功

25、能:该功能主要是对联系人信息的删除。该主用例与子用例之间的关系描述如图 所示:图3-6用户E-R图 系统管理员联系人信息维护vvlndude添加联系人信息删除联系人信息更新联系人信息Pig.3-5 The main case and son with exemplary intention图3-5主用例与子用例示意图3.3数据库分析通讯录管理系统是方便大众日常生活的工具,为了迎合大众需求,具体有浏览信息、查询信息、添加和删除信息,及排序等功能。这就要求数据库结构能充分满足各 种信息的输入与输出,实现有组织地,动态储存大量关联数据,方便用户访问系统中 的数据。3.3.1 概念结构设计根据需求分析

26、抽象出信息结构,可得该系统的E-R图。(1).用户E-R图Pig.3-6 The user E-R diagram 根据分E-R图和需求分析,可得到总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年龄3.3.3 数据库表的建立在设计数据库表

27、结构之前,首先要创建一个数据库。本系统使用的数据库为 Friend。仓U建表Friend (基本信息表),它的代码如下:CREATE TABLE Friend(Namechar (20) PRIMARY KEYTelechar(20),Addrchar(30),Mailchar(20)GO第四章 系统实现4.1 数据库的实现数据库连接package connect_sql;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class Connects priv

28、ate 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.pri ntln (”提示:数据库加载成功!); 加载数据库 catch (SQLE

29、xception e) e.printStackTrace(); catch (InstantiationException e) e.printStackTrace(); catch (IllegalAccessException e) e.printStackTrace(); catch (ClassNotFoundException e) e.printStackTrace();public Connection getConnection()return con;4.2 系统功能实现4.2.1 系统登录界面: 登录功能:private void jButton1ActionPerfor

30、med(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, 用户名或密码请重新登录

31、! );jTextField1 .setText( ); jPasswordField1.setText( );else this.dispose();421.2重置功能(代码):private void jButton2ActionPeformed(java.awt.event.ActionEvent evt) jTextField1.setText();jPasswordField1.setText();4.2.2 系统主界面:4.22.1浏览联系人信息:private void jButton6ActionPeformed(java.awt.event.ActionEvent evt)

32、View ft = new View();ft.setVisible( true);4.22.2查询联系人信息:private void jButton 1ActionPeformed(java.awt.event.ActionEvent evt) Search fr = new Search();fr.setVisible( true);4.22.3添加联系人信息:private void jButton2ActionPeformed(java.awt.event.ActionEvent evt) Add ft = new Add();ft.setVisible( true);2.2.4删除

33、联系人信息:private void jButton3ActionPeformed(java.awt.event.ActionEvent evt) Delete ft = new Delete();ft.setVisible( true);2.2.5排序联系人信息:private void jButton4ActionPeformed(java.awt.event.ActionEvent evt) Sort ft = new Sort(); ft.setVisible( true);4.3功能模块的实现431浏览联系人信息功能:private void jButton 1ActionPerfo

34、rmed(java.awt.event.ActionEvent evt) Object title = 编号,姓名,性别,电话,年龄,邮政编码,家庭住 址, QQ ;Stri ng str = (Stri ng) jComboBox1_view.getSelectedltem();String sql = SELECT * FROM STUINFO;ResultSet rs1 =choosedataSelect(sql);int i = 0;try while (rs1.next() i+; catch (SQLException e) e.pri ntStackTrace();Object

35、data = new Objecti + 18;if (str.equalsf 全部信息)sql = SELECT * FROM STUINFO; elsesql = SELECT * FROM STUINFO WHERE QQ= + str + 吶;ResultSet rs =choosedataSelect(sql):int j = 0;try while (rs.next() dataj0 = rs.getStri ng(1);dataj1 = rs.getStri ng(2);dataj2 = rs.getString(3);dataj3 = rs.getString(4);dataj

36、4 = 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();4.3.2 查询联系人 信息功能:private void jButton_Search1ActionPerfo

37、rmed(java.awt.event.ActionEvent evt) Object title = 编号, 姓名, 性别, 电话, 邮政编码 , 家庭住址 QQ ;String str1 = (String) jComboBox_Search1.getSelectedItem();String str2 = jTextField_Search1.getText();String sql = null;if (strl.equals编号)sql = SELECT * FROM STUINFO WHERE 编号= + str2 + ; elseif (strl.equals姓名)sql = S

38、ELECT * FROM STUINFO WHERE 姓名= + str2 + ; elseif (str1.equals(QQ) sql = SELECT * FROM STUINFO WHERE QQ= + str2 + ;ResultSet rs =choosedataSelect(sql);Object叩 datas = new Object508;try int j = 0;while (rs. next() datasj0 = rs.getStri ng(1);datasj1 = rs.getStri ng(2);datasj2 = rs.getStri ng(3);datasj3

39、 = rs.getStri ng;datasj4 = rs.getStri ng(5);datasj5 = rs.getStri ng(8);datasj 6 = rs.getStri ng(6);datasj7 = rs.getStri ng(7);j+; catch (SQLException e1) e1.pri ntStackTrace();JTable table = new JTable(datas, title);jScrollPa ne1.setViewportView(table);jScrollPa ne1.revalidate();4.3.3添加联系人信息功能:4.331

40、添加:private void jButton 1ActionPeformed(java.awt.event.ActionEvent evt) String option = 添加,修改;int n = JOptio nPan eshowOptio nDialog(this,请仔细检查信息,确定添加?,添加信息,JOptio nPan eYES_NO_OPTION JOptio nPa neWARNING_MESSAGEnull,option, option1);if (n = 0) 获取添加的内容Stri ng acctnum =jTextField1.getText();Stri ng n

41、 ame =jTextField2 .getText();Stri ng sex =jTextField3.getText();Stri ng mobile = jTextField4 .getText();String academy =jTextField5.getText();Stri ng major = jTextField6.getText();Stri ng adress =jTextField7.getText();Stri ng classes =TextField8.getText();插入内容Stri ng sql = INSERT INTO STUINFO VALUES

42、+ acct num + ,+ n ame +, + sex + , + mobile + , + academy+ , + major + , + adress +, + classes+ );choosedata In sert(sql);JOptio nPan eshowMessageDialoQthis,添加成功!,提示,JOptio nPa nelNFORMATION_MESSAGE);jButt on 2Actio nPeformed(evt);4.332重置:private void jButton2ActionPeformed(java.awt.event.ActionEven

43、t evt) jTextField1.setText();jTextField2.setText();jTextField3.setText();jTextField4.setText();jTextField5 .setText();jTextField6.setText();jTextField7 .setTextf);jTextField8.setText();434删除联系人信息功能:private void jButtonlActionPeformed(java.awt.event.ActionEvent evt) Stri ng str = (Stri ng) jComboBox1

44、_view.getSelectedltem();Stri ng str2 = jTextField1 .getText();Stri ng sql = null;if (str.equals编号)sql = SELECT * FROM stuinfo where 编号=”+ str2 + ”; elsesql = SELECT * FROM stuinfo where 姓名=”+ str2 + ”; ResultSet rs =choosedataSelect(sql);try while (rs.next() jTextField2_acct nu m.setText(rs.getStri

45、ng(1); jTextField9_ name.setText(rs.getStri ng(2); jTextField3_sex.setText(rs.getStri ng( 3); jTextField4_mobile.setText(rs.getStri ng(4); jTextField5_academy.setText(rs.getStri ng(5); jTextField6_major.setText(rs.getStri ng(6); jTextField7_addresssetText(rs.getStri ng(7); jTextField8_class.setText(

46、rs.getStri ng(8); catch (SQLException e) e.pri ntStackTrace();String option = 删除,修改;int n = JOptio nPan eshowOptio nDialog(this,请仔细核对信息,确认删除?, 删除信息,JOptio nPan eYES_NO_OPTION JOptio nPa neWARNING_MESSAGEnull,option, option1);if (n = 0) if (str.equals(编号)sql = DELETE FROM stuinfo WHERE 编号=+ str2 + ”;

47、 elsesql = DELETE FROM stuinfo WHERE 姓名=+ str2 + ”; choosedataDelete(sql);JOptio nPan eshowMessageDialoc(this,删除成功!,提示,JOptio nPa nelNFORMATION_MESSAGE);jTextField2_acct num.setText();jTextField9_name.setText();jTextField3_sex.setText();jTextField4_mobile.setText();jTextField5_academysetText();jText

48、Field6_major.setText();jTextField7_addresssetText(); jTextField8_class.setText();4.3.5排序联系人信息功能private void jButton 1ActionPerformed(java.awt.event.ActionEvent evt) Stri ng str = (Stri ng) jComboBox1.getSelectedltem();Object title = 姓名,编号, QQ ;Stri ng sql = null;if (str.equals编号)sql = SELECT * FROM

49、stuinfo ORDER BY 编号 ASC; elseif (str.equals(姓名)sql = SELECT * FROM stui nfo ORDER BY 姓名 ASC; elsesql = SELECT * FROM stuinfo ORDER BY QQ ASC;ResultSet rs =choosedataSelect(sql);Object叩 datas = new Object518;try int j = 0;while (rs. next() datasj0=rs.getStri ng(1);datasj1=rs.getStri ng(2);datasj2=rs.

50、getStri ng(3);datasj3=rs.getStri ng(4);datasj4=rs.getStri ng(5);datasj5=rs.getStri ng(6);datasj 6=rs.getStri ng(7);datasj7=rs.getStri ng(8);j+; catch (SQLException e1) el.pri ntStackTrace();JTable table = new JTable(datas, title);jScrollPa nel.setViewportView(table);jScrollPa ne1.revalidate(); 第五章系统

51、测试5.1登陆用例的程序设计登陆界面如图所示:止 login| 回 |Pig.5-1 Login interface diagram图5-1登录界面图在窗体上分别设置它们属性:窗体的标题为“ log in, ”两个文本框分别对应usernam和” “password ”其它部分是由Swing的图形完成设置的。界面设置代码为:private static fin al lo ng serialVersio nUID = -8166865260561556563L;Clie ntCo ntext clie ntCo ntext;Label lab name=new Label(user name

52、);Label labload=new Label(password );/TextField texfload=new TextField(10);JTextField texfname=new JTextField(10);JButton butlogi n=new JButto n(logi n);JButt on butca ncel=new JButt on (ca nel);JPasswordField jpass=new JPasswordField(10);public Log inF rame()super(logi n);Container c=getCo nten tPa

53、 ne();BorderLayout d=new BorderLayout();c.setLayout(d);jpass.setEchoChar(*);getRootPa ne().setDefaultButto n( butlog in);默认按钮可以相应回车请求 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.

54、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()=butlogin) clientContext.load

55、(texfname, jpass);else if(e.getSource()=butcancel)clientContext.cancel();public void setClientContext(ClientContext clientContext) this.clientContext = clientContext;/*登录控制函数param texf nameparam pass */public void load(JTextField texfname,JPasswordField pass) if(成功.equals(service .lo ad(texf name, p

56、ass) loadFrame.setVisible(false);mai nF rame.setVisible(true);登录成功后给出的提示界面:Pig.5-2 After a successful login prompt diagram图5-2登录成功后的提示图当点击cancel时显示的界面:Pig.5-3 Cancel the hint map图5-3取消提示图触发cancel事件的代码如下所示:/*取消登录控制函数*/public void can cel() int a =JOptionPane.showConfirmDialog(loadFrame,退出吗?,提示!,JOpti

57、 onPan e.YES_NO_OPTION);if(a=JOptio nPan e.YES_OPTION)System.exit(O);5.2登录成功:登录用户登录成功后转向主窗体Pig.5-4 The main form diagram图5-4主窗体图主窗体的实现的代码:JButton butSelect=new JButto n(select);JButt on butbrowse=new JButt on (browse);JButton butadd=new JButto n(add);JButt on butupdate=new JButt on (update);JButton

58、butdelete=new JButto n(delete);JButton butout=new JButto n( exit);JComboBox comboBox = new JComboBox();JTextField texf= new JTextField(8);Panel p1= new Pan el();Panel p2=new Panel();public MainFrame()super(海内存知己天涯若比邻);Container c=getContentPane();BorderLayout d=new BorderLayout(); c.setLayout(d);tab

59、le.setEnabled(false);JScrollPane scrollpane=new JScrollPane(table);for(int i=0;idescription.length;i+)comboBox.addItem(descriptioni);butSelect.addActionListener(this); butbrowse.addActionListener(this); butadd.addActionListener(this); butupdate.addActionListener(this); butdelete.addActionListener(th

60、is); butout.addActionListener(this); p1.add(comboBox);p1.add(texf);p1.add(butSelect);p1.add(butbrowse); p2.add(butadd);p2.add(butupdate);p2.add(butdelete);p2.add(butout);c.add(scrollpane,BorderLayout.CENTER);c.add(p1,BorderLayout.NORTH);c.add(p2,BorderLayout.SOUTH);this.setSize(700,450);this.setLoca

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论