此项目作为一个基于JavaFX开发的桌面应用程序旨在为用户提供一个方便记录收入与支出的环境,数据保存在云服务器,与账号相关联,同时简约的GUI也方便了操作。更有数据分析图像功能,让用户清楚自己的消费情况,从而更好地进行理财管理。
新用户在这个界面进行注册,两次密码必须一致才能成功,否则会有错误提醒,最后点击立即注册就可以了。注册成功后会自动跳转到登录界面,如果已有账号可以点击前往登录按钮。
-
这个是登录界面,输入用户名和密码点击登录即可登录
-
用户名或密码错误会有提示
-
登录成功来到主界面,有4个醒目简约的大按钮分别代表4个主要功能:立即记账、我的账本、账户信息和统计图表
-
点击对应按钮就能进入对应功能了
- 点击主界面的立即记账可以来到新建账单功能
- 点击日期输入框最右边的按钮可以在日期选择视图中选中日期,在下拉框中选择收支类别和项目,最后在输入框中输入描述和金额,填写完整才能点击完成新建账单
- 成功或者信息不全都会有提示框,点击返回或者关闭窗口可以回到主界面
-
点击主界面我的账本可以来到账本功能,这里记录了你的全部账目,点击下面的页码可以翻页,点击日期或者金额栏目可以进行排序
-
左上角的搜索框可以输入关键字进行搜索相关账单记录,对所有字段都可以进行检索
-
鼠标点击账单记录可以选中,此时点击右上角操作按钮可以进行修改或者删除记录的操作
-
点击刷新按钮可以刷新到修改后的全部记录
-
关闭窗口回到主界面
-
点击主界面账户信息按钮来到此窗口,显示用户、头像和开发者等信息
-
点击编辑按钮可以唤出文本编辑器
-
点击更换头像可以唤出系统文件管理器选择自己的图片作为新头像
-
关闭窗口回到主界面
- 点击主界面统计图表按钮可以来到这个界面,这里显示你各个项目花费占总金额的比例的饼状图
- 点击对应色块可以显示具体百分比
- 关闭窗口回到主界面
此应用采用MySQL作为数据库来存储数据,以上是单条记录的表结构
包:main为主界面,userbase为注册登录,bkfunc是各个模块功能,DatabaseConnect是数据库连接
类:各个包下的类对应的功能都如图中命名所示,重点介绍bkfunc包下的Bill类,是用来存储每条记录的具体信息的。还有各个包下的Controller类是用来进行数据库操作的。
资源:图片资源都存放在images文件夹下
其他:lib文件夹存放JDBC连接MySQL所需依赖,out为输出的.class文件或者jar包
以上为搜索功能的实现源码,主要是对数据库使用LIKE语句对各个字段进行模糊匹配,最后将符合条件的记录存放到data数据存储结构中
这2个函数主要创建分页页面和表格,并将数据加载入表格显示出来。设定的字段用格式工厂与存储数据的data(ObservableList<Bill>类型)中的字段一一对应。
本项目用Java13.0.2与JavaFX11开发,用java8进行打包成exe可执行文件时会出现窗口与控件比原来要小的情况,导致一些内容无法正常显示。其他具体功能的运行实现结果在上面第二大部分已经介绍过。