Class-Affairs-Management-System-master
所属分类:Java编程
开发工具:Java
文件大小:5622KB
下载次数:0
上传日期:2020-04-03 14:00:21
上 传 者:
Might_
说明: 基于局域网的班级管理系统,实现了校园人员管理和实时通讯。
(The class management system based on LAN realizes the management of campus staff and real-time communication.)
文件列表:
DB (0, 2019-08-01)
DB\DBConnection.java (1973, 2019-08-01)
DB\api (0, 2019-08-01)
DB\api\ClassApi.java (21183, 2019-08-01)
DB\api\FileApi.java (2328, 2019-08-01)
DB\api\MessageApi.java (5292, 2019-08-01)
DB\api\UserApi.java (4501, 2019-08-01)
GUI (0, 2019-08-01)
GUI\AddClass.java (4167, 2019-08-01)
GUI\ChatBar.java (2673, 2019-08-01)
GUI\ChatBubble.java (4647, 2019-08-01)
GUI\CreateClass.java (4395, 2019-08-01)
GUI\Login_Frame.java (8698, 2019-08-01)
GUI\MyFrame.java (63153, 2019-08-01)
GUI\PublishNotice.java (3711, 2019-08-01)
GUI\PublishVote.java (7581, 2019-08-01)
GUI\Register_Frame.java (5055, 2019-08-01)
GUI\UserInfo.java (2373, 2019-08-01)
GUI\base (0, 2019-08-01)
GUI\base\CButton.java (1008, 2019-08-01)
GUI\base\CImage.java (2026, 2019-08-01)
GUI\base\CLabel.java (2153, 2019-08-01)
GUI\base\CPanel.java (346, 2019-08-01)
GUI\base\CTextPane.java (2123, 2019-08-01)
GUI\base\MessageDialog.java (1403, 2019-08-01)
GUI\base\font.java (678, 2019-08-01)
bean (0, 2019-08-01)
bean\Constant.java (5027, 2019-08-01)
bean\Draw.java (2703, 2019-08-01)
bean\Emoticon.java (3497, 2019-08-01)
bean\Game2048.java (21919, 2019-08-01)
bean\ScreenShot.java (4549, 2019-08-01)
bean\TipMusic.java (432, 2019-08-01)
bean\User.java (945, 2019-08-01)
demo (1, 2019-08-01)
image.png (102234, 2019-08-01)
libs (0, 2019-08-01)
... ...
# 山东大学软件学院2018级JAVA课程设计
## [English](https://github.com/nancheng58/JAVA-Course-Design-of-Software-College/blob/master/README.md)
实验要求设计一个班级事务管理系统,班内成员可进行查看公告,投票等操作。
最终系统实现的功能
1.权限管理:设管理员与用户两种使用权限,管理员操作过程有日志记录,管理员有权限发布公告和投票。
2.传阅投票:列出同意与不同意选项,每个收到的同学能够看到稿子的当前状态,可加建议栏用于补充意见。投票时显示投票状态和详情。
![avatar](https://raw.githubusercontent.com/nancheng58/JAVA-Course-Design-of-Software-College/master/projectdemo/demo2.png)
3.公告传阅:公告发送给班级的每个成员,并给与提醒。公告信息显示在班级的公告面板里,配有带下划线的标题。
![avatar](https://raw.githubusercontent.com/nancheng58/JAVA-Course-Design-of-Software-College/master/projectdemo/demo3.png)
4.文件共享:在服务器端每个班级设置共享空间,允许班级成员上传下载(离线)。实现了文件属性的预览,包括文件名,大小,上传时间,上传者。文件下载后可以直接打开。
![avatar](https://raw.githubusercontent.com/nancheng58/JAVA-Course-Design-of-Software-College/master/projectdemo/demo4.png)
5.即时通信:独立弹出小窗,基本功能:一对一对话(私聊),发言至班级(群聊),可发送图片。
![avatar](https://raw.githubusercontent.com/nancheng58/JAVA-Course-Design-of-Software-College/master/projectdemo/demo5.png)
6.表情发送:实现选择一个表情并发送功能。
![avatar](https://raw.githubusercontent.com/nancheng58/JAVA-Course-Design-of-Software-College/master/projectdemo/demo6.png)
7.截图功能:选择截图并发送,监听键盘实现组合键Ctrl+Alt+x快速截图功能。
![avatar](https://raw.githubusercontent.com/nancheng58/JAVA-Course-Design-of-Software-College/master/projectdemo/demo7.png)
8.抖动功能:自身抖动并发送抖动消息,实现了双方一起抖动的功能,私聊和群聊都可使用。
9.系统托盘:
实现了如下功能:左键弹出窗口;右键弹出选项菜单,可以添加班级,创建班级,打开,退出;收到消息时托盘闪烁,直到用户点击托盘为止;
![avatar](https://raw.githubusercontent.com/nancheng58/JAVA-Course-Design-of-Software-College/master/projectdemo/demo91.png)
![avatar](https://raw.githubusercontent.com/nancheng58/JAVA-Course-Design-of-Software-College/master/projectdemo/demo91.png)
10.消息提示音:收到消息时发出消息提示音
11.发送消息功能,支持图片发送。监听消息文本编辑器,监听键盘实现按下Enter键发送消息的功能。
12.绘图板:实现了实时手绘的功能,并发送给当前聊天的用户或班级。
![avatar](https://raw.githubusercontent.com/nancheng58/JAVA-Course-Design-of-Software-College/master/projectdemo/demo12.png)
13.头像功能:用户和班级都可以添加头像。
14.登录注册功能:检验密码是否正确。加入了防止重复登录机制。
![avatar](https://raw.githubusercontent.com/nancheng58/JAVA-Course-Design-of-Software-College/master/projectdemo/demo14.png)
15.加入班级,创建班级功能:
可以创建和加入班级,创建班级后自动变为管理员身份。
![avatar](https://raw.githubusercontent.com/nancheng58/JAVA-Course-Design-of-Software-College/master/projectdemo/demo151.png)
![avatar](https://raw.githubusercontent.com/nancheng58/JAVA-Course-Design-of-Software-College/master/projectdemo/demo152.png)
16.消息提醒
收到消息后会由图一变为图二。管理员发布文稿,公告,投票时也都会有提示。
![avatar](https://raw.githubusercontent.com/nancheng58/JAVA-Course-Design-of-Software-College/master/projectdemo/demo161.png)
![avatar](https://raw.githubusercontent.com/nancheng58/JAVA-Course-Design-of-Software-College/master/projectdemo/demo162.png)
17.聊天气泡功能:绘制了聊天气泡,区分消息本用户与其他用户。聊天气泡可以放置文字和图片。
![avatar](https://raw.githubusercontent.com/nancheng58/JAVA-Course-Design-of-Software-College/master/projectdemo/demo17.png)
18.在班群里单击头像即可发起私聊。
![avatar](https://raw.githubusercontent.com/nancheng58/JAVA-Course-Design-of-Software-College/master/projectdemo/demo18.png)
19.私聊时点击头像或者用户名可以显示用户信息。
![avatar](https://raw.githubusercontent.com/nancheng58/JAVA-Course-Design-of-Software-College/master/projectdemo/demo19.png)
20.添加了小游戏功能,并加入了分数统计功能,查看用户信息时可以查看对方的最高记录。
21.实现了日志功能。用户每次进行请求时都会把结果写入到日志中。
![avatar](https://raw.githubusercontent.com/nancheng58/JAVA-Course-Design-of-Software-College/master/projectdemo/demo21.png)
![image](https://github.com/nancheng58/JAVA-Course-Design-of-Software-College-of-Shandong-University/blob/master/image.png)
一.系统模块架构
系统架构:
C/S 架构,实现客户端与服务器分离,通常客户端运行应用程序,服务器端运行服务程序,应用程序向服务程序提出申请,服务程序分析该申请是否合理,来决定返回数据信息还是返回错误指令。实现了聊天,文件,信息服务的分离,互不干扰。
客户端:客户端包括聊天,文件,信息服务三个客户端及系统的GUI部分。
服务端:包括服务器和数据库。其中服务器包括聊天,文件,信息服务三个服务器,分别监听三个端口。数据库部分包括数据库连接和数据库查询API。
系统模块
系统一共有5个包。分别是bean , DB,GUI,net, util。
一.Bean包是系统附加功能及系统静态资源调用包。
里面有以下五个类:
1.User类:内含用户信息调用方法。
2.Constant类:系统静态工具类,含有存放了缓存文件夹(文件,聊天记录,截屏图片等)的路径和获取文件大小的工具静态方法。
3.Draw类:绘图板功能。通过监听鼠标绘图,调用屏幕截图实现。
4.Emoticon类:表情功能,绘制一个JLabel数组,将表情加入数组中,通过监听每个表情图片实现。
5.Game2048类:2048小游戏,从网上下载的素材,加入了分数统计功能,查看用户信息时可以查看对方的最高记录。
6.ScreenShot类:截图功能,调用系统的Toolkit.getDefaultToolkit().getScreenSize()方法获取全屏截图,监听鼠标确定位置并保存图片以实现此功能。
7.TipMusic类:消息提示音功能,收到消息播放指定声音。
二.GUI包是系统界面和组件包。
包内部还有一个base包,是重写的swing组件和重写的字体类,实现界面美化。除此之外还有8个用户界面类,分别是登录,注册,主页面,发布公告,发布投票,用户详细信息,创建班级,加入班级。及添加消息列表组件charbar和绘制气泡组件chatbubble。
三.net包是系统通信包,里面有4个包base,Client,Json,Server。
1. Base包是客户端和服务器共用的通信基础包,包括Csocket类和Message类。Csocket类是重写的socket工具,Message类是传输的基本协议。
2. Json包是json转换相关的包。数据传输时,系统使用了json转换的形式,可以实现object<->json string。包内部的类实现了将传输消息时用到的object转换为json和json转为object的方法。
3. Client包是客户端相关的包。包内部含有聊天,文件,信息服务三个客户端及监听聊天和文件客户端的接口。聊天客户端实现了聊天信息的收发功能,文件客户端实现了文件的上传和下载功能,信息服务客户端实现了信息的查询和反馈功能(如登录,注册,公告的发布等)。还有一个客户端启动类,负责启动客户端。
4. Server包是服务器相关包。包内部有两个包handler和Server。
1)其中Server包中含有三个server(聊天,文件,信息服务)和一个ServerManager(负责启动三个server)。三个服务器均实现了通信连接的功能。
2)Handler包中配有每个服务器配有一个clienthandler类(消息收发器)和一个消息处理器(messagehandler)。每次有客户端连接,服务器都开一个新的clienthandler线程接受消息,并用messagehandler处理并返回结果给客户端。
3)还有一个服务器启动类,负责启动服务器。
四.DB包是数据库相关包。里面有数据库连接和使用数据库的API,负责处理所有数据的添加,查找,修改,删除命令,并提供数据获取的方法。
五.Util包是系统素材及图片美化包,内部有三个类。
PictureUtil类简化了调用图片路径的方式。PictureUtil.class.getClassLoader().getResource("util/resource/image/" + name))
ImageUtil类是image处理类,可以将图片压缩,创建一个圆形遮罩。
RendererUtil类是渲染类,可以创建图像阴影效果。
近期下载者:
相关文件:
收藏者: