基于Java窗体的个人记账系统 功能完善、界面漂亮下载可以直接运行

  前段时间公司的事情太忙,CSDN博客停止更新快两个月。今天为大家分享一个JAVA窗体版本的个人记账系统481(也可以叫个人财务系统).目前基于Swing的窗体程序使用越来越少。但是通过窗体程序涉及到的技术在各种应用程序中都有广泛的应用、所用到的知识和原理基本不变。本次介绍个人记账系统的涉及到数据库技术、UI技术、多线程技术、文件技术等,是一个实战性很强的项目。系统中具备的功能包括:登陆、记账、历史消费查询、分类设置、每月阈值设置、统计分析、系统分析和建议、EXCEL导出、数据库备份等功能。整个系统界面漂亮,有完整得源码,希望大家可以喜欢。通过实战项目,喜欢上编程,提高编程水平,一起加油!

开发环境

开发语言为Java,开发环境Eclipse或者IDEA都可以。数据库采用:SQLLITE。运行主程序,或者执行打开JAR文件即可以运行本程序。运行程序可以在编辑器中运行 run as applicaiton,或者jar ***.jar运行

系统框架

   利用JDK自带的SWING框架开发,不需要安装第三方JAR包。SQLLITE数据库,纯窗体模式,直接运行Main文件即可以。属于入门级的程序。

系统主要功能

系统的功能结构入下图所示,其功能结构入下图所示:

运行效果

1 主界面

2 录入账单

3 历史消费查询

4 消费图形统计

5 分类统计

6 阈值设置

7 数据导出

关键代码

 /**
     * 导出到 Excel 文件
     *
     */
    public static void exportToExcel(String filePath) {
        //获取目标文件对象
        File toFile = new File(filePath);
        String sql = "SELECT r.*, c.name as category_name FROM record r JOIN category c ON r.cid = c.id";
        try (
                Connection c = DBUtil.getConnection();
                Workbook wb = new XSSFWorkbook();    // 创建工作簿
                FileOutputStream fos = new FileOutputStream(toFile)
        ) {
            PreparedStatement ps = c.prepareStatement(sql);
            ResultSet rs = ps.executeQuery();

            // 创建工作表
            Sheet sheet = wb.createSheet();
            sheet.setDefaultColumnWidth(10);

            // 创建表头行
            Row headerRow = sheet.createRow(0);
            headerRow.createCell(0).setCellValue("ID");
            headerRow.createCell(1).setCellValue("花费");
            headerRow.createCell(2).setCellValue("分类");
            headerRow.createCell(3).setCellValue("备注");
            headerRow.createCell(4).setCellValue("日期");

            CellStyle cellStyle = wb.createCellStyle();
            CreationHelper creationHelper = wb.getCreationHelper();
            short dateFormat = creationHelper.createDataFormat().getFormat("yyyy/m/d;@");


            cellStyle.setDataFormat(dateFormat);
            // 将查询结果写入工作表
            int rowIndex = 1;
            while (rs.next()) {
                Row row = sheet.createRow(rowIndex++);
                row.createCell(0).setCellValue(rs.getInt("id"));
                row.createCell(1).setCellValue(rs.getDouble("spend"));
                row.createCell(2).setCellValue(rs.getString("category_name"));
                row.createCell(3).setCellValue(rs.getString("comment"));
                Cell cellDate = row.createCell(4, CellType.NUMERIC);
                cellDate.setCellValue(rs.getDate("date"));
                cellDate.setCellStyle(cellStyle);
            }

            // 将工作簿保存到文件
            wb.write(fos);
            fos.flush();
            // 已经用了 try resource,所以可以不用这条语句 fos.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

项目总结

(1)在写代码之前,在大脑里一定要把思路理清楚,不能模模糊糊,一定要把功能图和流程图画出来,然后根据它去实现每一个功能块,要多分析,培养一种良好的逻辑思维能力。

(2)在写代码的过程中,一定要采取就近原则,同一个功能,或者对同一个组件的设置一般要写在一块,这样写的程序比较清晰,不容易出错,也便于查找。

(3)要养成良好的注释习惯,一是有利于别人阅读你的程序,同时也有利于自己以后再看,就能很快的读懂程序,提高效率。

(4)把功能模块化,即把实现相同功能的代码段封装成一到一个类或者一个方法中,实现的时候调用即可,这样能提高代码的可读性。

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

计算机程序

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值