《Java桌面程序开发第8章Java桌面程序实例联系人管理》由会员分享,可在线阅读,更多相关《Java桌面程序开发第8章Java桌面程序实例联系人管理(33页珍藏版)》请在金锄头文库上搜索。
1、大连理工大学出版社大连理工大学出版社 Java桌面程序开发桌面程序开发 目目 录录第1章认识Java桌面程序第2章开发第一个Java桌面程序第3章事件处理机制第4章容器与布局第5章使用Swing常用组件第6章使用Swing高级组件第7章连上DB的Java桌面程序第8章 Java桌面程序实例:联系人管理第第8章章 Java桌面程序实例:联系人管理桌面程序实例:联系人管理教学要求教学要求 1掌握:综合运用Java桌面程序开发技术和数据库编程技术 2理解:将数据库操作封装成DAO类8.1看看看看效果效果p检索模块检索模块p添加模块添加模块p修改修改模块模块p删除模块删除模块8.2需求分析及需求分析及
2、系系统设计p8.2.1 8.2.1 系统目标系统目标8.2.2 任任务1:数据:数据库设计p1 1、实体、实体E-RE-R图图p2 2、数据库表的设计、数据库表的设计(1)用户表:用于记录合法的用户账户信息,只包含登陆账户名和登录密码两个字段(2)联系人表:用于记录联系人信息,包括联系人的姓名、性别、年龄、联系电话和电子邮件地址8.2.3 任任务2:界面:界面设计与模与模块设计p1 1、界面设计、界面设计登录界面:用户在该界面中输入登陆账户名和密码进行身份验证,可以选择登录或退出程序。主界面:用户在该界面中可以选择对联系人进行管理或退出系统。检索联系人界面:用户在该界面中可以实现检索所有联系人
3、信息,或根据姓名指定要查看的联系人,并将检索结果显示在该界面中。添加联系人界面:用户在该界面中可以添加新的联系人信息,或清空已填写的信息重新填写,或退出该界面。更新联系人界面:用户在该界面中可以修改指定姓名的联系人的部分资料,可先查询指定姓名的联系人原信息,再填写新的信息内容,可以清空已填写的信息重新填写,或退出该界面。删除联系人界面:用户在该界面中可先查询指定姓名的联系人信息,待确认后可以进行删除操作,可以退出该界面。p2 2、模块设计、模块设计(1)用户登录模块:实现登陆界面及登陆验证逻辑。(2)公共模块:实现公共的数据库操作功能,包括获取数据库连接,描述联系人数据库实体的实体类,实现检查
4、登陆账户和对联系人信息进行添、删、改、查操作的数据库DAO(Database Access Object)类。(3)联系人管理模块:实现联系人管理的各个操作界面,以及各界面的逻辑功能。p项目文件夹(源代码)结构:项目文件夹(源代码)结构:8.3编码实现p8.3.1 8.3.1 编码编码规范规范Java程序在命名时应始终采用完整的英文描述符。此外,一般应采用小写字母,但类名、接口名以及任何非初始单词的第一个字母要大写。一般而言,我们须遵循以下一些约定:包(Package)应采用完整的英文描述符,由小写字母组成。类(Class)应采用完整的英文描述符,所有单词的第一个字母大写,例如MainFram
5、e。接口(Interface)应采用完整的英文描述符说明接口封装,所有单词的第一个字母大写。习惯上,名字后面加上后缀able,ible或者er。组件(JComponent)应使用较完整的英文描述来说明组件的用途。异常(Exception)对象通常使用字母e表示。类变量应采用完整的英文描述,第一个字母小写,任何中间单词的首字大写。例如firstName,lastName。获取方法,可在方法名上使用前缀get来表示。例如getAllContacts(),getContact()。设置方法,可在方法名上使用前缀set来表示。例如setName (),setEmail()。普通成员方法采用完整的英文描
6、述说明成员函数功能,第一个单词尽可能采用一个生动的动词,第一个字母小写。例如buildMenuBar()。静态常量字段(static final)全部采用大写字母,单词之间用下划线分隔。例如MIN_BALANCE,DEFAULT_DATE。循环计数器通常采用字母i,j,k或者counter都可以。8.3.2 任任务1:数据:数据库实施施p编码编码8-1 8-1 创建创建MySQLMySQL数据库及表。数据库及表。p完成效果:完成效果:8.3.3 任任务2:开:开发公共公共模模块p公共模块包含公共模块包含3 3个类:个类:Contact:联系人实体类;DBConnection:获取数据连接类;C
7、ontactDao:对联系人表进行添、删、改、查操作的数据库DAO类p具体编码请见教材具体编码请见教材p编码补充编码补充说明说明:(1)SQL语句中LIKE关键字用于模糊检索,%是通配符,代表若干个字符,SQL语句select * from contact where name LIKE %串%,代表只要name字段值中含有“串”则返回该条记录。(2)updateContact(String sql)方法身兼两职:如果传入的sql语句是UPDATE语句,该方法就实现修改联系人信息;如果传入的sql语句是DELETE语句,该方法就实现删除联系人信息。可以这样处理是因为UPDATE和DELETE语
8、句在底层的操作其实是一样的,都是利用Statement对象调用executeUpdate()方法实现数据库操作。8.3.4 任任务3:开:开发登登陆模模块此模块包含一个类Login,该类实现登陆验证的界面,以及登陆验证的逻辑。若用户输入的登陆账号或密码错误,则阻止用户登陆,并利用对话框给出提示:8.3.5 任任务4:开:开发主主界面界面主界面负责提供所有的用户与系统交互的操作方式,在桌面应用系统中菜单和工具栏通常是最常用的,我们在主界面中以菜单和工具栏按钮方式提供系统的所有功能供用户选择。根据用户所做的选择,将从主界面启动其它功能模块界面。具体编码请见教材8.3.6 任任务5:开:开发各功能各
9、功能模模块p系统的功能模块主要包括了系统的功能模块主要包括了:检索联系人添加联系人修改联系人信息删除联系人对应的类包括:QueryContactFrame、InsertContactFrame、ModifyContactFrame、DeleteContactFrame。还包括一个辅助功能类ResultSetTableModel,它用于将结果集数据存至表格模型,以方便在界面上已表格形式表现结果集数据。p1 1、实现辅助功能类、实现辅助功能类ResultSetTableModelResultSetTableModel。编码8-7 ResultSetTableModel类,详见教材p2 2、检索联系
10、人:、检索联系人:(1)实现检索并显示所有联系人信息;(2)提供文本框给用户输入姓名查询关键字,可以根据关键字模糊检索联系人信息并显示;(3)若关键字留空而点击“查询”,则以友好的对话框给予操作提示。p3 3、添加、添加联系人联系人提供输入组件供用户填写联系人资料,并适时给出友好的提示,比如说姓名是必填的,若未填写姓名而试图添加,则给予提示。p4 4、修改联系人:、修改联系人:(1)提供“查询”功能让用户先检索并显示拟修改的联系人资料;(2)提供输入组件让用户填写欲修改的信息;(3)“更新”按钮实现修改功能,更新数据库,并及时将修改后的信息显示出来。p5 5、删除联系人:、删除联系人:(1)提
11、供“查询”功能让用户先检索并显示拟删除的联系人资料;(2)“删除”按钮实现删除功能,更新数据库,并反馈删除成功与否的信息到界面上。(3)若欲删除的联系人姓名留空,则利用对话框给予友好的提示。p说明:说明:删除操作需要谨慎进行,因此为删除操作添加了一个确认对话框,用户需在此对话框中点击“确定”按钮确认删除才能执行删除操作,否则删除操作将不会进行。要点提醒要点提醒(1)Java数据库编程的基本步骤:获取数据库连接;生成语句对象;发送SQL语句至数据库执行;处理返回的结果。(2)GUI中菜单和工具栏按钮的创建,菜单快捷键的设置。(3)用表格模型存结果集数据,再以表格模型为参数构造JTable表格组件,使得可以灵活使用表格展现结果集数据。(4)对输入数据进行有效性验证,并灵活运用对话框给予友好的操作提示。(5)将数据库操作封装成DAO类,上层代码需要对数据库访问时直接调用DAO中的相关方法,对于上层代码来说,数据库的操作是不可见的。这样的编码方式会使得系统的结构更优化,将来更易于维护和扩展。实训任务实训任务p实训8-1 在“联系人管理”系统的基础上完善“系统管理”模块。添加用户注册,用户信息修改,用户删除等功能,实现多个用户共同使用该系统,每个用户拥有自己的联系人信息及对自己所属联系人的操作权限。p实训8-2 在该系统的检索、添加和修改联系人的界面中添加可上传和显示联系人照片的功能。