[内附完整源码和文档] 基于java和sql server实现的日历系统

1.日历事件程序设计要求
1.1 程序说明
该系统实现对日历事件的录入、显示、修改、排序、保存等操作的管理。

1.2 程序设计要求
一个日期有N个事件,每个事件有对应的类别,对应的标题,M个关联参与者等

设置系统登陆密码,只有正确输入密码方可进入管理系统

日历事件显示时,如果点击,输入日期,则显示该日期对应的所有时间,标题,优先级,日期(起始日期,结束日期),分类(工作,学习,运动等),关联参与人(系统下的其他用户名),提示时间

根据时间,并选择特定事件修改内容时,要求先输入密码,如果密码正确方可修改时间信息,否则不予操作;在最终修改之前提示用户确认后,再进行修改操作,无需提供数据备份复原

系统主菜单

密码重置
日历事件录入
日历事件显示
日历事件修改
定时提醒
根据优先级分色彩显示,并通过调整显示次序,体现优先级
退出系统
执行一个具体的功能之后,程序将重新显示菜单

2.程序功能描述及要求
该系统实现对日历事件的录入、显示、修改、排序、保存等操作的管理。要设置系统初始登陆密码,只有正确输入密码方可进入管理系统主菜单页面。并且,每执行一个具体的功能之后,程序需要重新显示主菜单。

添加日历事件 :输入信息

显示日历事件 :选择日期,显示该日期对应的事件列表,选择事件显示详情。并在该页面上修改按钮

以日期时间排列日历事件 :系统需要根据日期时间显示该日期对应的事件列表(按时间从现在到将来显示)

修改日历事件信息 :日历事件修改:可以根据选择的条目,点击修改按钮后,修改事件信息;也可通过检索关键字的形式定位条目

修改系统的密码 :必须先输入原始密码,当原始密码输入正确时,才能修改密码

修改日历事件信息:在最终修改之前提示用户确认后,再进行修改操作,无需提供数据备份复原

3.设计思想
密码匹配限制能否进入系统主菜单页面

设定范围查询数据库条目

运用数据库数据

利用SQL Server数据库,对数据进行管理

利用UI界面获得更加友好的用户接口

4.结构框图、各模块的功能描述
4.1 主函数(H1)
定义了主函数H1,然后new一个4.2中的界面的对象,执行里面的构造函数。

4.2 登录界面(Loading)
定义了JFrame类,该类用于显示登录界面。包含两个JButton,一个JTextField,一个JPassWordField,三个Jlabel。

显示“确定”的JButtton是获取输入的信息和通过数据库验证密码是否正确和账号是否存在;当确认密码,账号正确后会关闭此页面并且进入4.4的页面,密码如果和账号不匹配则在JTextField中显示:密码或者账号错误,累计三次密码错误后,登录页面会自动关闭。

显示“注册,修改密码”的JButton是进入4.3中的界面进行密码的修改或者注册账号,点击后new一个4.3中的界面对象,执行构造函数进入。

三个Jlable分别显示了:日历登录、账号、密码。

4.3 注册和修改密码(Exc)
定义了JFrame类,该类用于显示修改,注册界面。包含两个JBtton,4个JLabel,两个JPasswordField,,一个JTextField。

JTextField用于输入用户的账号;两个JPasswordField用于输入密码;

显示“注册”的JBtton,点击后获取账号和两次输入的密码,然后通过数据库判断账号是否存在,存在则在JTextField显示 “账号已存在”,不存在则继续判断两次密码是否是一样的,一样 则关闭界面并把账号和密码存到数据库里面,否则JTextField显示两次输入的密码不一致。

显示“修改”的按钮,点击后获取账号和密码,通过数据库判断账号和第一场输入的密码在数据库中是否存在,存在且匹配则把数据库中的密码修改为第二次输入的密码,保存并且退出此界面。

4.4 日历显示类(C1)
定义了JFrame类,该类用于显示日历界面。包括了一个构造方法,显示日期的37个显示日期的JBtton,一个显示当前年份的JTextField,一个显示和选择月份的JCombox,七个显示星期的JLabel,一个显示“年份”和一个显示“月份”的JLabel,还有一个大小为整个界面的JLabel,内容为空。

定义了一个jisuan()的方法。构造方法:显示界面,设置点击事件。jisuan()用于获取选择的日期并计算选的这个月的第一天为星期几,打开时候默认获取系统时间件并计算本月第一天是星期几,并且从数据库中查询当天有没有事件,有的话会跳出4.4中的页面进行提醒。本页面中new了一个Daysxiqi类。Daysxiqi用于计算从1900年一月一日到所选月份第一天的天数,从而计算出第一天是星期几。Daysxiqi也new了一个Getrunnian的类。Getrunnian中传入年份,用于计算是不是闰年。

占满全屏的JLabel:设置点击事件,当点击的时候运行jisuan()的方法,然后刷新日历到选择的时间。显示日期的JBtton:点击后获取JButton显示的日期,如果不为空,把背景颜色设置为蓝色,并且new4.4中的Even类,把时间传入Even类中。

4.5 日历事件类(Even)
这是一个选项卡面板,包括了四类事件,学习、生活、紧急和加密,前三类包含一个Textarea、一个删除按钮和一个添加按钮。加密事件则添加了一个JPasswordField,用来加密事件,每一个加密事件可以设置一个密码,只有密码和时间相匹配才可以删除事件。

首先会根据传进来的时间在数据库中查询有没有事件存在,有则显示在Textarea中,输入事件后点击添加就会存入数据库中,然后TextArea会显示添加成功,也可以删除事件,会提示删除失败。

4.6 程序框图

在这里插入图片描述
4.7 程序截图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

完整的源码和详细的文档,上传到了 WRITE-BUG技术共享平台 上,需要的请自取:

https://www.write-bug.com/article/3185.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值