基于java swing的设备管理系统

一.系统介绍

一个简易的设备管理系统,包含了管理员登录注册、设备录入、设备状态管理功能,具体状态有购买时、正在运行、正在修理和已报废。

二.开发环境

开发环境:jdk          运行环境:jvm

运行平台:无限制        编辑器:eclipse

语言:java            工具:swing

数据库:mysql

三.数据库设计

manager表 (管理员信息,主要用于登录、注册)

equipment表 (记录设备信息)

e_buy表 (记录购买的设备信息)

e_run表 (记录正在运行的设备信息)

e_scrap表 (记录报废的设备信息)

e_repair表 (记录修理的设备信息)

四.系统结构设计

本系统采用两层系统架构模型,view视图层负责界面的表示、采集信息传递给dao数据处理层、并从dao层接收数据更新界面,dao数据处理层负责信息的接收、处理和返回

1.view视图层

StartFrame

负责登录、注册界面的显示

包含name、pwd文本输入框和login(regist)、exit按钮

当点击login(regist)按钮时,检测name、pwd中数据是否为空,如果不为空,则将数据传递到StartDao中处理数据;

当regist成功时,跳转入login界面

当login成功时,进入ManageFrame界面

当点击exit按钮时,系统退出

ManageFrame

框架的content panel为JTabbedPane,其有5个选项卡:

(1)equipment负责所有设备的名称、运行状态的显示和状态管理,状态有①无状态 ②run ③repair ④scrap     

当点击切换状态的时候,会弹出相应对话框,记录对应状态所需要登记的信息Info

(2)buy负责登记购买的设备信息

(3)running负责显示正在运行的设备信息

(4)repair负责显示正在修理的设备信息

(5)scrap负责显示已报废的设备信息

选项卡中的equipment和buy界面由ManageFrame负责创建,对应方法为createEquipmentPanel()和createBuyPanel(),通过返回自定义的JPanel匿名内部类创建

选项卡中的running、repair、scrap界面分别是InfoRunPanel、InfoRepairPanel、InfoScrapPanel类的实例,这些类继承自抽象类InfoPanel,在抽象类中定义抽象方法getHeaders()、getTableData()获取JTable表头、数据对象,由其子类重写对应的方法;定义具体方法createScrollPane()负责创建JScrollPane可滚动面板装载createTable()创建的JTable对象,createSelectButton()负责创建搜索按钮

2.dao数据处理层

StartDao

包含方法login和regist

login方法,检测用户输入的用户名是否存在、密码是否正确,因为有“account not exists”,“incorrect password”和“success”三种状态,所以返回状态类型设置为String

regist方法,登记用户名和密码,状态有success、fail两种,所以返回状态类型设置为boolean

ManageDao

包含equipment、buy、run、repair、scrap信息的增删改查

查询方法中获取的数据,由Vector容器打包后返回

InfoRepairDao、InfoRunDao、InfoScrapDao 继承自抽象类AbstractInfoDao

包含方法查询、有条件查询、无条件查询,有条件查询是在初始化获取数据库中所有对应信息时调用,有条件查询是在输入查询条件后获取符合条件的数据集时调用

2.util工具包

ComponentUtil 包含自定义一些常用swing组件

ConnectionUtil 数据库连接类

DatabaseXmlParser 解析db.xml,获取数据库配置信息

DateChooser 包含日期选择控件

2.bean javabean 封装各种对象

五、系统运行演示(主要事件流)

(1) 注册、登录

  注册

  登录

(2) 录入购买的设备信息

  输入设备信息

  在equipment中查看设备

(4) 管理设备状态

  例:设置状态为run

(5) 查看设备状态

  输入panda,select

  输入E450,select

六、参考文献

《设计模式》 清华大学出版社 2011年10月第1版 刘伟 胡志刚 郭克华

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏乐沙弥的世界

Percona XtraDB Cluster集群线程模型

Percona XtraDB集群创建一组线程来为其操作提供服务,这些线程与现有的MySQL线程无关。有三个主要线程组:

8900
来自专栏零基础使用Django2.0.1打造在线教育网站

零基础使用Django2.0.1打造在线教育网站(九):初识后台管理

努力与运动兼备~~~有任何问题可以加我好友或者关注微信公众号,欢迎交流,我们一起进步!

38030
来自专栏大数据智能实战

HBase启动过于缓慢的原因及其优化策略

当HBASE导入了几十亿的数据记录时,某一天重启一下HBASE,发现启动过于缓慢,一直在提示PleaseHoldException:Master is init...

25090
来自专栏Python爬虫与数据挖掘

如何在vSphere Client的虚拟机上安装Centos6.7操作系统

前几天给小伙伴们介绍了Centos对应版本的下载教程以及如何在vSphere Client上如何创建虚拟机,感兴趣的童鞋们可以点击进去看看~~

16010
来自专栏Java帮帮-微信公众号-技术文章全总结

Web-第十九天 Linux学习【悟空教程】

UNIX操作系统是商业版,需要收费,价格比Microsoft Windows正版要贵一些。不过UNIX有免费版的,例如:NetBSD等类似UNIX版本。

18340
来自专栏前端vue

微信公众号授权登陆PHP

在微信公众号请求用户网页授权之前,要先到公众平台官网中修改授权回调域名 正式公众号:开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信...

1.8K40
来自专栏闵开慧

hadoop图解

gateway机器是跳板机,提交job到云梯的,在gateway机器上只要配置hadoop-site.xml即可,配置文件中主要是指定jobtracker的地...

411100
来自专栏互扯程序

程序猿必备调试工具postman

现在是资源共享的时代,同样也是知识分享的时代,如果你觉得本文能学到知识,请把知识与别人分享。

15420
来自专栏张戈的专栏

shell脚本实现整站缓存和预缓存,进一步提升网站整体加载速度

在 Linux 中,shell 脚本结合系统任务计划 crontab,非常简单就能实现一些复杂程序才能完成的工作,开发成本低,且简单易学。 张戈博客之前也分享过...

45990
来自专栏非著名程序员

每个人都该学git,最新GitHub与Git指令快速上手

写在前面:最近后台有人跟我说需要git上手教程,但是我又没时间写,就给大家找了一篇不错的上手文章,希望能够帮到大家,而且我还提供了一份关于git的视频教程,就在...

22280

扫码关注云+社区

领取腾讯云代金券