首页 > 其他 > 详细

桌面宠物Oline-------------面向程序综合设计2020

时间:2020-01-12 16:11:27      阅读:101      评论:0      收藏:0      [点我收藏+]

项目由来

2018年QQ宠物就此停服,童年的回忆就此消失,为此我们(L.Z.G)决定自己写一个桌面宠物。做这个之前我们需要一些前期的准备工作,前期调查,需要我们宠物的图片后期的PS,还要数据库来存储我们的登录信息,这里我们使用了Mysql数据库并且使用了Navicat 的可视化操作数据库软件,又为了我们的桌面宠物能让每一个人都拥有一只这么可爱的宠物,我们使用了阿里云服务器来搭建我们的数据库。实现每个人都拥有一只可爱无比的桌面宠物。该程序主要为了给那些怀念那只可爱的小企鹅的用户设计。

一、团队介绍

成员姓名 任务分配 备注
郭东阳 服务器、主界面GUI、模块拼接、多线程 可爱、帅气
周理伟 实体类的设计、数据库 机智、勇敢
李星宝 部分GUI、音乐模块、程序可执行调试 帅气、迷人

二、项目Git地址

https://gitee.com/jellysheep/development_of_desktop_pet.git

三、Git项目提交记录截图

技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片

四、项目功能架构图、主要功能流程图

技术分享图片

五、面向对象设计类图

1、Skill接口

技术分享图片

2、User 类存储登录用户信息

技术分享图片

3、pet类.存储宠物信息属性、好感度以及互动的方法

技术分享图片

4、Account类 存储记账的信息

技术分享图片

5、pet.Girl类 特有类继承接口Skill

技术分享图片

6、Reminder类 提醒类 存储数据库中提示语句

技术分享图片

六、项目运行截图与屏幕录制

1、登录界面后面的背景皮卡丘是个动态的小宠物

技术分享图片
技术分享图片
技术分享图片

2、注册界面

技术分享图片

3、宠物主界面

技术分享图片

4、系统托盘菜单

技术分享图片

5、菜单主界面、包含播放和暂停音乐按钮

技术分享图片

6、宠物属性、好感度

技术分享图片
技术分享图片

7、记账界面

技术分享图片

8、宠物演示小视频

https://v.youku.com/v_show/id_XNDUwNDM3MjYxMg==.html

七、项目关键代码

1、登录按钮的监听

技术分享图片
技术分享图片

这里对登录按钮添加了监听器,在该部分代码中使用UserDaoImpl类里的isLogin方法对服务器发送请求获取服务端的数据库信息,并且做出比对给出判断反馈

2、主界面的多线程

技术分享图片

Def和Cil线程是维持桌面宠物一直处于动态的主要代码,以及每个一段时间的弹窗小提醒也是在这个线程里,互动之类的,好感度的实时增加

3、系统托盘

技术分享图片

支持系统托盘、增加可操作性菜单

4、鼠标拖动宠物代码

技术分享图片

这部分代码比较关键、如果不能拖动宠物,互动就大大的打了折扣

5、服务器端获取弹窗信息

技术分享图片

对服务器发送请求、进行连接,获取数据库中talk数据,进行随机输出

6、弹窗GUI的实现

技术分享图片

这部分是为jframe设置背景图片,在GUI的设计中,JLabel放了图片就会把其它jLabel挤开,这很让人头疼;在查询资料的过程中我发现:
在jframe上添加组件,往往是添加在contentpane中。但是在contentpane的下面还有两层面板,那就是layeredpane和jrootpane。
任何一本关于java的书中都会介绍contentpane,却很少提到layeredpane和jrootpane。

八、测试、改进与感想

1、测试的过程中遇到了很多问题比如线程,在鼠标进行操作的时候要怎么去变化,通过监听器去修改一个flag值在线程里加上一个比较flag来判断什么时候要做什么事情,还有服务器。在使用服务器作为数据库,要注意的有很多;首先要先在阿里云控制台设置端口的出入, 一般数据库的端口为3306,但是服务器并没有默认该端口可以通过,所以不开的话将不能通过3306端口访问数据库,同时还要在云端数据库运行允许外网ip访问权限的开放的命令,并且设置外网访问密码;还有和队友们对接的时候往往会出现意想不到的问题,好比如我调用队友写的菜单中的一个选项,会跳出一个GUI但是在关闭这个弹窗的时候会把其它GUI一起关闭这时候就需要队友修改自己的代码;
2、改进方面,就是互动的动作可能太少了,时间的不足没办法让我们的GUI宠物动作更加丰富,因为很多图片都需要我们自己去PS修改才能用;
3、通过这次课程设计,让我明白了团队合作有很大的好处,同时默契也是团队合作中的关键,团队合作使我灵活应用所学的知识,完成自己团队分工的内容;学会了很多东西,也知道可如何在服务器上架构数据库,怎么连接远程数据库,GUI的布局管理;这些都是日后实用的,只有不断的学习、实践,再学习、再实践才会成长。

九、关于云端服务器

刚开始,想着的是用本地数据库,但是那样别人用起来就不是特别的方便了,所以我买了一个阿里云服务来构架我们桌面宠物的数据库。

桌面宠物Oline-------------面向程序综合设计2020

原文:https://www.cnblogs.com/jellysheep/p/12178295.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!