1:javaGUI-一本糊涂账

项目源码
密码:1111

1、项目要求

设计一个图像化界面来完成基本消费记录。要求要有以下几个模块。

  • 消费一览:统计本月的消费总数,今日消费,日均消费,本月剩余,日均可用,距离月末有多少天。同时使用一个环形进度条,这个环形进度条不是JDK自带的,需要自己设计,并且随着消费用度,颜色从绿色渐变为红色。
  • 记一笔:记录本日的消费额度, 分类下拉框从 消费分类数据中读取,并且把经常消费的分类放在前面。日期默认选中今天,也可以手动指定日期。
  • 消费分类管理:对消费进行经典的CRUD 增删改查管理,同时显示一个分类下的消费次数。这里涉及到多表关系:消费记录和消费分类是多对一关系。
  • 月度消费报表:使用第三方chart类生成柱状报表,显示本月的消费趋势。
  • 设置预算和数据库路径:在消费一览中需要显示本月可能多少金额,都是建立在预算的基础上的。在设置页面,设置本月的预算金额。后续的还原和备份,都需要用到数据库的命令mysql和mysqldump,需要在这里配置mysql的安装目录 。
  • 备份数据:把数据库中的所有数据,备份到.sql文件中 。
  • 恢复数据:根据.sql文件还原数据库 。
2、基本思想
创建一个JFrame,在JFrame中上面添加一个工具条,中间添加一个工作面板。把上面的每个模块设计分别设计为一个JPanel,通过点击工具条上的相应按钮,将相对应的JPanel显示到工作面板中。
* 消费一览:通过数据库中的数据计算后显示到标签,环进度条布局,统计消费进度
* 记一笔:JTextField、JComboBox设计表单,JButton提交表单
* 消费分类管理:通过数据库数据统计出不同分类的次数,JTable 2列来显示数据,JButton新增按钮添加新的分类
* 月度消费报表:调用chart包生成统计图
* 设置预算和数据库路径:表单,指定本月预算和mysql的安装目录,JButton提交表单
* 备份数据:JButton触发事件,备份数据库的数据
* 恢复数据:JButton触发事件,恢复数据
3、环进度条

继承JPanel然后重写paint方法,通过drawArc方法实现环形进度条,drawString实现环形进度条中百分之多少。

将传入的paint方法的参数Graphics转为Graphics2D调用

setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

开启抗锯齿。

4、统计图

调用了com.objectplanet.chartjar包实现的条形统计图

5、数据库设计

在这里插入图片描述

6、工作面板中切换当前显示的面板

每点击工具条上的按钮就调用工作面板的show方法,show后在调用update方法从数据库中获取最新的数据,显示到面版上。

 public void show(JComponent p) {
        this.c = p; //记录当前显示在工具面板中的面板
        Component[] cs = getComponents();//获取此容器中的所有组件
        for (Component c : cs) {
            remove(c);//移除此容器中的所有组件
        }
        add(p);添加到面板
        
        if (p instanceof WorkingPanel)
            ((WorkingPanel) p).updateData();
        this.updateUI();
    }
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值