今天为大家分享一个java语言编写的个人记账系统程序-413,目前系统功能已经很全面,后续会进一步完善。整个系统界面漂亮,有完整得源码,希望大家可以喜欢。喜欢的帮忙点赞和关注。一起编程、一起进步。
开发环境开发语言为Java,开发环境Eclipse或者IDEA都可以,无数据库,主要。运行主程序,或者执行打开JAR文件即可以运行本程序
系统框架利用JDK自带的SWING框架开发。纯窗体模式,直接运行Main文件即可以。同时带有详细得设计文档。
功能模块介绍本次开发的个人财务系统主要包括以下一些模块:修改密码模块、记账管理模块、统计分析报表模块、建议分析模块。
1 修改密码.修改密码需要输入老密码,和新密码和确认密码
2 记账模块:对日常信息进行记录。记录信息包括:编号、日期、编号类型、内容、金额。可以对记账信息进行日常的维护操作,包括增加,删除,修改等操作
3 统计分析模块:对个人账单信息进行统计分析。统计分析的结果包含柱状图和饼图。
4 建议分析模块:对个人收支消费情况给出相应的建议
实现效果1 系统登陆2 系统主界面 3 录入数据4 账目修改 5 统计报表6 修改密码 关键代码public MainFrame(String username){super(username+",欢迎使用个人理财账本!");this.username=username;Image icon=new ImageIcon("Main_frame.png").getImage();this.setIconImage(icon);Container c=this.getContentPane();c.setLayout(new BorderLayout());c.add(mb,"North");mb.add(m_system);mb.add(m_fm);mb.add(m_chart);mb.add(m_about);m_system.add(mI[0]);m_system.add(mI[1]);m_fm.add(m_FMEdit);m_chart.add(m_ch1);m_about.add(m_ab1);m_FMEdit.addActionListener(this); mI[0].addActionListener(this); mI[1].addActionListener(this); m_ch1.addActionListener(this); m_ab1.addActionListener(this); date1 = new Date();datepick1 = new JXDatePicker();mymatter1 = new SimpleDateFormat("yyyyMMdd");datepick1.setFormats(mymatter1);datepick1.setDate(date1);date2 = new Date();datepick2 = new JXDatePicker();mymatter2 = new SimpleDateFormat("yyyyMMdd");datepick2.setFormats(mymatter2);datepick2.setDate(date2); l_type=new JLabel("收支类型:"); c_type=new JComboBox(s1); b_select1=new JButton("查询");l_fromdate=new JLabel("起始时间"); //t_fromdate=new JTextField(8);l_todate=new JLabel("终止时间"); //t_todate=new JTextField(8);b_select2=new JButton("查询");l_ps = new JLabel("注意:时间格式为YYYYMMDD,例如:20150901");p_condition=new JPanel();p_condition.setBackground(Color.WHITE);p_condition.setLayout(new GridLayout(4,1));p_condition.setBorder(BorderFactory.createCompoundBorder( BorderFactory.createTitledBorder("输入查询条件"), BorderFactory.createEmptyBorder(5,5,5,5)));l_contentType=new JLabel("筛选内容");c_contentType=new JComboBox(s2);b_contentType=new JButton("查询");JPanel p1 = new JPanel();p1.setBackground(Color.WHITE); JPanel p2 = new JPanel(); p2.setBackground(Color.WHITE); JPanel p3 = new JPanel(); p3.setBackground(Color.WHITE); JPanel p4=new JPanel(); p4.setBackground(Color.WHITE); JPanel p5=new JPanel(); p5.setBackground(Color.WHITE); b_all=new JButton("显示全部"); b_all.addActionListener(this); p5.add(b_all); p4.add(l_contentType); p4.add(c_contentType); p4.add(b_contentType); p1.add(l_type); p1.add(c_type); p1.add(b_select1); p2.add(l_fromdate);p2.add(datepick1);p2.add(l_todate);p2.add(datepick2);p2.add(b_select2);//p3.add(l_ps);p_condition.add(p1); p_condition.add(p2); //p_condition.add(p3); p_condition.add(p4); p_condition.add(p5); c.add(p_condition,"Center"); b_select1.addActionListener(this); b_select2.addActionListener(this); b_contentType.addActionListener(this); p_detail=new JPanel(); p_detail.setBackground(Color.WHITE); p_detail.setBorder(BorderFactory.createCompoundBorder( BorderFactory.createTitledBorder("收支明细信息"), BorderFactory.createEmptyBorder(5,5,5,5))); l_bal=new JLabel(); row = new Object[50][5];table = new JTable(row, cloum);JScrollPane scrollpane = new JScrollPane(table);scrollpane.setPreferredSize(new Dimension(580,350));scrollpane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);scrollpane.setViewportView(table);p_detail.add(l_bal);p_detail.add(scrollpane);c.add(p_detail,"South"); //judgeOver(); this.setResizable(false); this.setSize(800,700);Dimension screen = this.getToolkit().getScreenSize(); this.setLocation((screen.width-this.getSize().width)/2,(screen.height-this.getSize().height)/2);this.show();startshow();}项目总结通过此项目,我收获了很多很多,其中最重要的一点是细心和耐心,刚开始的时候不一定要考虑到系统的方方面面,在项目开发的过程中,先画出业务流程图和用例图,把大体框架做好,然后再逐一细化。刚开始不可能做到面面俱到,围绕原型一步步完善。做为系统设计和编码的程序员,要善于思考,以现实为依据,让自己的每一行代码都能实现自己的意义。
通过本次项目的开发和设计,我掌握了事件处理,文件操作,Java UI布局,JDBC、界面美化等知识,并且能够运用到实际项目中,对我以后的学习和就业有非常大的帮助。