一、目的与要求
《面向对象程序设计》课程设计是实践性教学环节之一,是《面向对象程序设计》课程的辅助教学课程。
该课程设计要求学生综合运用在《面向对象程序设计》课程中学到的面向对象技术与实际编程相结合,独立完成一项较为完整、并具有一定实际功能的课程设计任务,同时加深学生对面向对象和Java编程技术的理解和掌握,培养实际的应用程序开发能力。在课程设计过程中,使学生养成良好的程序设计风格,并掌握Java应用程序的设计开发过程和编程方法、测试方法。培养学生使用Eclipse设计程序,使学生学会使用他们去开发软件。
二、任务使用图形界面
登录功能:用户输入QQ号登录,首先判断QQ号是否存在,再判断输入的QQ号与密码是否一致,若不一致则提示用户,一致则允许用户登录
注册功能:用户填写必要的登记信息昵称和密码和一些选填信息,然后注册,将注册的用户信息写入到数据库当中
查找好友:输入QQ号,如不存在则提示用户,如果存在,在弹出与该用户的聊天对话框
文件传输:实现好友之间的文件的传送
双人聊天:实现好友之间的文字聊天的功能
三、总体设计
3.1 功能模块图
3.2 核心类库
数据库相关的操作类
发送消息相关类
用户界面类
3.3 数据库实现
四、详细设计说明
4.1 登录窗口
该界面采用绝对布局。上面为一个图片标签,左下角为头像,中间为QQ号输入框和密码框,其右侧为注册账号和找回密码,下面是登录按钮。
登录:如果没有输入信息;如果账号正确而密码不对,登录成功后根据不同身份进入不同界面
注册账号:点击弹出登录账号
4.2 注册账号
该界面为注册界面,上舍友昵称和密码为必填空间,其他生日,出生地,手机号为可填可不填。
立即注册:点击立即注册则检测各个控件是否满足当初的设定,若满足,则将新注册成功一个新用户,注册成功则将写入的数据写入数据库
4.3 聊天主界面
该界面分为上测自己的信息,包括头像昵称QQ号,下侧是好友,会话,组别,个性签名的JTabbedPane,以及好友查找界面。
点击好友列表:双加则弹出聊天界面,单击右键则弹出右键对话框
查找好友:输入QQ号点击搜索按钮,如果存在,则弹出聊天对话框
4.4 聊天窗口
该界面最上侧显示好友的头像和昵称以及个性签名,然后是接受框,下面一行是设置框,可以设置字体的字体字号颜色,以及可以发送表情,和发送文件。再下是发送框允许用户输入,发送和关闭按钮。
发送文字:可以实现发送设置好的字体
发送表情:点击表情,双击选中即可加入到发送框
发送抖动:点击抖动按钮发送抖动
五、调试与测试
5.1 登录界面测试QQ号码不能为空
测试QQ号码与密码是否一致
5.2 注册昵称不能为空,与数据库一致
密码不能为空
确认密码要与密码一致
且确认密码不输或者输入与密码框不一致都会提醒用户
5.3 查找好友输入要查找的QQ号,点击搜索,如果查询数据库不存在则弹出对话框来提醒用户不存在,如果存在在弹出聊天对话框
5.4 主界面右键菜单当鼠标在好友列表中的时,单击右键弹出对话框,点击相应框会有相应操作。如果鼠标没在相应位置时,则不弹出
5.5 聊天主界面发送文字聊天消息,表情,其中聊天文字消息可以设置字体字号和颜色,表情双击双中
发送文件,点击发送文件按钮,则会弹出文件选择框,选中文件点击确定则发送,接收到一方会弹出接收或是取消的对话框,点击确定则会弹出文件保存框选择路径和保存位置
六、总结
从最初看到题目的时候无从下手,到查阅资料慢慢搞清楚实现每一步大致的思路再到慢慢写出代码的雏形,中间有时候卡到一个点上卡好久,就有些羡慕那些选题相对好做一些的数据库类型的题目,为什么要选的这么麻烦这么综合的一个题目,但是又不断的去查阅资料,CSDN,Java API,疯狂Java书本,不知道在这短短的两星期内重复翻阅了多少次,于是之前不清楚的那些概念数据库JDBC操作,网络通信,输入输出流,AWT,Swing,线程等等知识点一点点熟悉起来,之前在课上学的知识在此都得到了应用。
又有一种开心,终于可以用自己学过的知识做出来一些可以有实际意义的东西,所以整天整夜地都在想着这一步该怎么做,下午要完成什么任务,还有那些可以优化,总是想把自己的所有空余时间用来把这个建议聊天软件做好做细节,毕竟QQ的功能是在太过强大,可以模仿的地方太多。总体而言,是一个很成功的实习,对java和数据库的知识有了进一步的认识和运用,对综合开发有了更多的热情,码代码能力进一步提高。