基于java和sql server实现的日历系统

Haggard

发布日期: 2020-09-23 11:10:53 浏览量: 387
评分:
star star star star star star star star star star_border
*转载请注明来自write-bug.com

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 程序截图

登录界面

注册界面

修改密码界面

日历界面

紧急事件

学习事件

生活事件

加密事件

上传的附件 cloud_download 基于java和sql server实现的日历系统.7z ( 3.84mb, 6次下载 )
error_outline 下载需要11点积分

发送私信

所有的道别里,我还是最喜欢明天见

16
文章数
12
评论数
最近文章
eject