之前JAVA老师布置的大作业,自选标题,然后我选的是实现一个聊天软件,使用JAVAFX来做界面(跟SWING差不多,但是可以用CSS来美化界面,而且拖入式布局比较方便),实现的功能有登入注册,找回密码,更改头像,发送接收消息,查看好友资料,修改好友备注,好友是否在线的提示,消息的提示,气泡的大小自动改变,标为已读未读,清除聊天记录,删除好友,添加好友,搜索好友,好友备注,个人资料的修改查看,设置,聊天助手的提示,右键菜单等功能。运行结果如下:
(项目已上传至github,客户端:https://github.com/sundial-dreams/WeChatClient,服务端:https://github.com/sundial-dreams/WeChatServer,数据库的话也就三个表,可以看着下图建,然后将客户端代码的数据库连接部分修改一下,指向你的数据库)
登入:
注册:
忘记密码:
主界面:
好友资料:
添加好友:
个人资料:
修改个人资料:
头像:
好了,现在讲讲我的构建思路,由于界面比较多,使用我采用MVC的架构模式,包括控制模块(Controller),数据模块(Model),界面模块(View)
然后控制模块将数据和界面整合,对于数据模块,包括数据库的连接,消息的保存,好友列表的保存,登入信息的保存,数据库部分,我的个人资料包括九个属性,分别是account(账号),name(姓名),password(密码),age(年龄),sex(性别),head(头像),address(地址),label(个性标签),phone(电话号),background(主题),数据库表(使用mysql数据库)如下:
好友的话,用I_account(我的账号),Y_account(你的账号),remark(备注)来表示,数据库表如下:
然后还用了个登入表,来表示用户已登入,不可重复登入,退出时在清除掉改用户,数据库表如下:
然后就可以专门写个类来连接,操控数据库了,
package Model;
im