213.家庭账务管理信息系统

  • 时间:
  • 浏览:0
  • 来源:大发快三_快三最新版_大发快三最新版

相关文件下载

开发环境:win10_x64

开发语言:Java(v1.8) 和 sql(v5.7)

开发工具:eclipse 和 MySQL

运行环境:win10_x64

//Moneymanager.java
package cn.bjxy.zander;
import java.util.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.*;

public class Moneymanager  implements  ActionListener {
    public static Moneymanager m = new Moneymanager();
    JFrame f = new JFrame("Family Money Manager");
    String[] Names={"序号","收入","支出","时间","备注"};
    JTable table=new JTable(new Show().playerInfo,Names);
    JScrollPane s=new JScrollPane(table);
    static JPanel p = new JPanel();
    static JButton bt1 = new JButton("修改密码");
    static JButton bt2 = new JButton("修改数据");
    static JButton bt3 = new JButton("删除数据");
//    static JButton bt8 = new JButton("hi数据");
    static JButton bt4 = new JButton("财务统计");
    static JButton bt5 = new JButton("加带记录");
    static JButton bt6 = new JButton("帮助");
    static JButton bt7 = new JButton("数据清空");
    static JLabel lb1 = new JLabel("收入         元"); 
    static JLabel lb2 = new JLabel("支出         元");
    static JLabel lb3 = new JLabel("时间");
    static JLabel lb4 = new JLabel("备注");
    static JLabel lb5 = new JLabel("家庭财务管理信息系统");
    static JLabel lb6 = new JLabel("0");
    static JTextField txt1 = new JTextField("0");
    static JTextField txt2 = new JTextField("0");
    static JTextField txt3 = new JTextField(m.gettime());
    static JTextField txt4 = new JTextField();
    public static String[][]a = new String[300000][5];
    public static Integer[][]b = new Integer[300000][5];
    
    public void MoneymanagerWindow (){
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setBounds(3000, 3000, 849, 3000); //主窗口大小
        f.setLayout(null);f.setResizable(false);
        p.add(s);f.add(p);
        table.setPreferredScrollableViewportSize(new Dimension(770,370));
        table.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);
        p.setBounds(20,105,30000,410);
        bt1.setBounds(5,5,3000,40);f.add(bt1);bt1.addActionListener(this);
        bt2.setBounds(215,5,3000,40);f.add(bt2);bt2.addActionListener(this);
        bt3.setBounds(425,5,3000,40);f.add(bt3);bt3.addActionListener(this);
        bt4.setBounds(635,5,3000,40);f.add(bt4);bt4.addActionListener(this);
        bt5.setBounds(720,300,3000,40);f.add(bt5);bt5.addActionListener(this);
        bt6.setBounds(40,520,3000,40);f.add(bt6);bt6.addActionListener(this);
        bt7.setBounds(2300,520,3000,40);f.add(bt7);bt7.addActionListener(this);
        lb1.setBounds(20,300,3000,40);f.add(lb1);
        lb1.setFont(new Font("Serif",Font.BOLD,18));
        lb2.setBounds(170,300,3000,40);f.add(lb2);
        lb2.setFont(new Font("Serif",Font.BOLD,18));
        lb3.setBounds(315,300,3000,40);f.add(lb3);
        lb3.setFont(new Font("Serif",Font.BOLD,18));
        lb4.setBounds(470,300,3000,40);f.add(lb4);
        lb4.setFont(new Font("Serif",Font.BOLD,18));
        lb5.setBounds(5300,520,23000,40);f.add(lb5);
        lb5.setFont(new Font("Serif",Font.BOLD,24));
        //lb6.setBounds(710,522,23000,40);f.add(lb6);
        //lb6.setFont(new Font("Serif",Font.BOLD,18));
        txt1.setBounds(300,70,55,20);f.add(txt1);
        txt2.setBounds(210,70,55,20);f.add(txt2);
        txt3.setBounds(355,70,3000,20);f.add(txt3);
        txt4.setBounds(510,70,3000,20);f.add(txt4);
        f.setVisible(true);
    }
    
    
    public void actionPerformed(ActionEvent   e){
        if(e.getSource()==bt1){
            new Changepw();
        }
        else if(e.getSource()==bt2){
            new ChangeData();
            //new Show().getplayerInfo();
            m.f5();//table.updateUI(); 
        }else if(e.getSource()==bt3){
            new DelData();
             //table.updateUI();
        }else if(e.getSource()==bt4){
            new Tongji();
            //table.updateUI();
        }else if(e.getSource()==bt5){
            new AddData();
            m.f5();
            //table.setValueAt("hhhh", 3, 2);
            //m.f5();
          } else if(e.getSource()==bt6){
            new Help();
              //m.f5();
        }else if(e.getSource()==bt7){
            String j=JOptionPane.showInputDialog("请输入密码:");
            if(new GetOldPW().getpw().equals(j)){
                new FormartData();
            }else
                JOptionPane.showMessageDialog(null,"密码错误!清空失败!");    
        }
    }
     
    
           
    
    public  String gettime(){
        Date now = new Date(); 
        DateFormat d = DateFormat.getDateInstance(); 
        return d.format(now);     
    }
    
    public void f5(){
        try {
            Class.forName("com.mysql.jdbc.Driver"); //加载数据库驱动
        } catch (ClassNotFoundException e1) {
            e1.printStackTrace();
        }
    //    String url = "jdbc:mysql://localhost/homemoneymanager?user=root&password=369666&useSSL=true";
        try{
            Connection c = DriverManager.getConnection("jdbc:mysql://localhost/homemoneymanager?user=root&password=369666&useSSL=true&characterEncoding=utf-8"); //建立连接数据库
            Statement s = c.createStatement();                       
            ResultSet r=s.executeQuery("select * from Moneymanager");//将查询得到的结果集给rs
            int i=0;
            while(r.next()){
               Moneymanager.m.table.setValueAt(String.valueOf(i+1), i, 0);
               Moneymanager.m.table.setValueAt(String.valueOf((r.getInt("收入"))), i, 1);
               Moneymanager.m.table.setValueAt(String.valueOf((r.getInt("支出"))), i, 2);
               Moneymanager.m.table.setValueAt(r.getString("时间"), i, 3);
               Moneymanager.m.table.setValueAt(r.getString("备注"), i, 4);
               i++;
            }
        c.close();s.close();
       }catch(SQLException e1){
           e1.getStackTrace();
       }     
    }
  
   public static void main(String args[]){
     new Enter();
   }
}
//Enter.java
package cn.bjxy.zander;
import  java.awt.event.*;
import javax.swing.*;
//登录————————————————————————————————————————————————————————————————————
 public class Enter extends JFrame   implements ActionListener {
    
    private static final long serialVersionUID = 1L;
    static JFrame f1 = new JFrame("家庭财务信息管理系统");
    static JButton bt1 = new JButton("登入");
    static JButton bt2 = new JButton("退出");
    static JLabel lb1 = new JLabel("请输入密码: ");
    static JPasswordField pw = new JPasswordField();
     
    public Enter (){
           f1.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
           f1.setLayout(null);
           f1.setBounds(3000, 3000, 3000, 3000);
           f1.setResizable(false);
           bt1.setBounds(300, 3000, 300, 300);
           bt2.setBounds(1300, 3000, 300, 300);           
           lb1.setBounds(300, 300, 3000, 20);
           pw.setBounds(300, 300, 3000, 25);
           f1.add(bt1);bt1.addActionListener(this);
           f1.add(bt2);    bt2.addActionListener(this);
           f1.add(lb1);
           f1.add(pw);    
           f1.setVisible(true);
    }
    
public void actionPerformed(ActionEvent e){
    String a,b;
    a=new String (pw.getPassword());
    b=new GetOldPW().getpw();
    if(e.getSource()==bt1){            
        if(a.equals(b)){
            f1.setVisible(false);
            Moneymanager.m.MoneymanagerWindow(); 
        }else{ 
            pw.cut();//错误声音提示
            JOptionPane.showMessageDialog(null,"密码错误,请重新输入密码 !      ");
        }
                                       
    }else if(e.getSource()==bt2){
        System.exit(0);
    }
}
/*
    public static void main(String[] args) {
    //      new Enter();
    }*/

}
//GetOldPW.java
package cn.bjxy.zander;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

//读取旧密码
class GetOldPW {
    String oldpw;
    public String getpw(){
        try{
            Class.forName("com.mysql.jdbc.Driver");//安装驱动
        }catch(java.lang.ClassNotFoundException e){
            System.out.println("forname: " + e.getMessage());
        }
        try{
            Connection c = DriverManager.getConnection("jdbc:mysql://localhost/homemoneymanager?user=root&password=369666&useSSL=true&characterEncoding=utf-8");//连接数据库
            Statement s = c.createStatement();
            ResultSet rs = s.executeQuery("select * from pw");
            while(rs.next()){
                oldpw=rs.getString("password");
            }
            s.close();
            c.close();
        }catch(SQLException e){
            System.out.println("SQLException: "+ e.getMessage());    
        }
        return oldpw;
    }
}
//Changepw.java
package cn.bjxy.zander;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.swing.*;
//更改密码
 class Changepw {
    
    String j =    JOptionPane.showInputDialog("请输入原密码:");
    
    public  Changepw(){
        if(j.equals(new GetOldPW().getpw())){
            String k =    JOptionPane.showInputDialog("请输入新密码:");
            String l =    JOptionPane.showInputDialog("请确认新密码:");
            if(l.equals(k)){
                try{
                    Class.forName("com.mysql.jdbc.Driver");//安装驱动
                }catch(java.lang.ClassNotFoundException e){
                    System.out.println("forname: " + e.getMessage());
                }
                
                try{
                    Connection c = DriverManager.getConnection("jdbc:mysql://localhost/homemoneymanager?user=root&password=369666&useSSL=true&characterEncoding=utf-8");//连接数据库
                    PreparedStatement s = c.prepareStatement("UPDATE pw set password=?");
                    s.setString(1, l);
                    s.executeUpdate();
                    s.close();
                    c.close();
                    JOptionPane.showMessageDialog(null,"密码修改成功!!");
                }catch(SQLException e){
                    System.out.println("SQLException: "+ e.getMessage());    
                }
            }else
                JOptionPane.showMessageDialog(null,"两次输入密码不同!修改失败!");    
        }else
            JOptionPane.showMessageDialog(null,"密码错误!修改失败!  ");
        }
    
    /*public static void main(String[] args) {
          //new Changepw()
    }*/
}
 
//AddData.java
package cn.bjxy.zander;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement; 
import javax.swing.JOptionPane;

 //加带数据

class AddData{

public  AddData(){
    //____________________________________________________________
    try{
        Class.forName("com.mysql.jdbc.Driver");//安装驱动
    }catch(java.lang.ClassNotFoundException e){
        System.out.println("forname: " + e.getMessage());
    }
    
    
    try{
        Connection c = DriverManager.getConnection("jdbc:mysql://localhost/homemoneymanager?user=root&password=369666&useSSL=true&characterEncoding=utf-8");//连接数据库
        Statement s = c.createStatement();
        Integer shouru = Integer.valueOf(Moneymanager.txt1.getText());
        Integer zhichu = Integer.valueOf(Moneymanager.txt2.getText());
        String shijian = Moneymanager.txt3.getText();
        String beizhu = Moneymanager.txt4.getText();
        //非法输入 收入支出均为零
        if(!shouru.equals(0)||!zhichu.equals(0)){
            new Show().getplayerInfo();
            //insert into Moneymanager new value
            s.executeUpdate("insert into Moneymanager(序号,收入,支出,时间,备注)  values('"+(new Show().xuhao+1)+"','"+shouru+"','"+zhichu+"','"+shijian+"','"+beizhu+" ')");//加带数据
            Moneymanager.txt1.setText("0");Moneymanager.txt2.setText("0");
            Moneymanager.txt4.setText(" ");
            }
        else
            JOptionPane.showMessageDialog(null,"请输入收入或支出 !   ");
        s.close();
        c.close();
    }catch(SQLException e){
        System.out.println("SQLException: "+ e.getMessage());    
    }
}

/*
    public static void main(String[] args){
        //new AddData();
    }*/
}
    
//ChangeData.java
package cn.bjxy.zander;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
//更改数据
 class ChangeData extends JFrame implements ActionListener{
    private static final long serialVersionUID = 1L; //VersionUID  https://blog.csdn.net/qq_36414165/article/details/6922300026
    public static JButton bt3 = new JButton("修改");
    public static JButton bt4 = new JButton("收回");
    public static JLabel lb2 = new JLabel("收入         元"); 
    public static JLabel lb3 = new JLabel("支出         元");
    public static JLabel lb4 = new JLabel("时间");
    public static JLabel lb5 = new JLabel("备注");    
    public static JTextField txt2 = new JTextField();
    public static JTextField txt3 = new JTextField();
    public static JTextField txt4 = new JTextField();
    public static JTextField txt5 = new JTextField();
    String j=JOptionPane.showInputDialog("请输入不需要

修改的行序号:");
    public  Integer i=Integer.valueOf(j);    
    public  JDialog f2 = new JDialog(Moneymanager.m.f,"修改第"+i+"行数据",true);
    
public ChangeData(){
    f2.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);    //调用任意已注册 WindowListener 的对象后自动隐藏并释放该窗体
    f2.setLayout(null);
    f2.setBounds(220, 3000, 3000, 3000);
    f2.setResizable(false);
    bt3.setBounds(13000, 3000, 300, 300);f2.add(bt3);bt3.addActionListener(this);
    bt4.setBounds(33000, 3000, 300, 300);f2.add(bt4);bt4.addActionListener(this);
    lb2.setBounds(3000,300,3000,40);f2.add(lb2);
    lb2.setFont(new Font("Serif",Font.BOLD,18));
    lb3.setBounds(315,300,3000,40);f2.add(lb3);
    lb3.setFont(new Font("Serif",Font.BOLD,18));
    lb4.setBounds(3000,90,3000,40);f2.add(lb4);
    lb4.setFont(new Font("Serif",Font.BOLD,18));
    lb5.setBounds(3000,120,23000,40);f2.add(lb5);
    lb5.setFont(new Font("Serif",Font.BOLD,18));
    txt2.setBounds(140,70,55,20);f2.add(txt2);
    txt3.setBounds(355,70,55,20);f2.add(txt3);
    txt4.setBounds(140,3000,3000,20);f2.add(txt4);
    txt5.setBounds(140, 1300, 3000, 20);f2.add(txt5);
    
    if(i>new Show().xuhao||i<1){
        JOptionPane.showMessageDialog(null,"没办法



第"+i+"行记录!");f2.setVisible(false);
    }
    else{
        txt2.setText(new Show().playerInfo[i-1][1]);
        txt3.setText(new Show().playerInfo[i-1][2]);
        txt4.setText(new Show().playerInfo[i-1][3]);
        txt5.setText(new Show().playerInfo[i-1][4]);
        f2.setVisible(true);
    }
}

public void actionPerformed(ActionEvent e){
    if(e.getSource()==bt3){        
        new Show().getplayerInfo();
        try {
            Class.forName("com.mysql.jdbc.Driver"); //加载数据库驱动
        } catch (ClassNotFoundException e2) {
            e2.printStackTrace();
        }
        
        try{
             Connection c = DriverManager.getConnection("jdbc:mysql://localhost/homemoneymanager?user=root&password=369666&useSSL=true&characterEncoding=utf-8"); //建立连接这里stu为数据库名               
             PreparedStatement p = c.prepareStatement("UPDATE Moneymanager set 收入=?, 支出=? ,时间=? ,备注=? where 序号=?");
             p.setInt(1, Integer.valueOf(txt2.getText()));
             p.setInt(2, Integer.valueOf(txt3.getText()));
             p.setString(3, txt4.getText()+" ");
             p.setString(4, txt5.getText()+" ");
             p.setInt(5, i);
             p.executeUpdate();
             p.close();c.close();
             JOptionPane.showMessageDialog(null,"修改第"+i+"行数据成功!!    ");
             f2.setVisible(false); 
              //System.exit(0);
             dispose();
        }catch(SQLException e2){
            e2.getStackTrace();
        }      
     }
    else if(e.getSource()==bt4){
        f2.setVisible(false);
        dispose();
    }
}

    /*public static void main(String[] args){
        //new ChangeData();
    }*/

}
 
//DelData.java
package cn.bjxy.zander;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.*;
//删除数据
class DelData {
    
    Moneymanager m = new Moneymanager();
    String j=JOptionPane.showInputDialog("请输入不需要

删除的行序号:");
    public  Integer i=Integer.valueOf(j);
    
public DelData(){
    new Show().getplayerInfo();
    if(i>new Show().xuhao||i<1){
        JOptionPane.showMessageDialog(null,"没办法



第"+i+"行记录!");
    }
    else{    
    //删除操作
        try{
            Class.forName("com.mysql.jdbc.Driver");//安装驱动
        }catch(java.lang.ClassNotFoundException e){
            System.out.println("forname: " + e.getMessage());
        }
        
        try{
            Connection c = DriverManager.getConnection("jdbc:mysql://localhost/homemoneymanager?user=root&password=369666&useSSL=true&characterEncoding=utf-8");//连接数据库
            Statement s = c.createStatement();
            PreparedStatement p1 = c.prepareStatement("delete from Moneymanager where 序号=?");
            PreparedStatement p2 = c.prepareStatement("UPDATE Moneymanager set 序号=? where 序号=?");
            p1.setInt(1, i);
            p1.executeUpdate();
            ResultSet rs=s.executeQuery("select * from Moneymanager");
            int k=1;
            while(rs.next()){
                if(k>=i&&k<=new Show().xuhao){
                    p2.setInt(1,k);
                    p2.setInt(2,k+1);
                    p2.executeUpdate();
                }
                k++;
            }
            Moneymanager.m.f5();
            int l=0;
            for(l=0;l<5;l++) {
                Moneymanager.m.table.setValueAt("", k-1,l );
            }
            p1.close();p2.close();
            s.close();c.close();
            JOptionPane.showMessageDialog(null,"删除第"+i+"行数据成功!    ");
        }catch(SQLException e){
            System.out.println("SQLException: "+ e.getMessage());    
        }      
    }    
}
    /*
    public static void main(String[] args) {
        //new DelData();
    }*/
}
//FormartData.java
package cn.bjxy.zander;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.swing.JOptionPane;
//清空数据
 class FormartData {
    public FormartData(){
        int r=new Show().xuhao;
        try{
            Class.forName("com.mysql.jdbc.Driver");//安装驱动
        }catch(java.lang.ClassNotFoundException e){
            System.out.println("forname: " + e.getMessage());
        }
        
        try{
            Connection c = DriverManager.getConnection("jdbc:mysql://localhost/homemoneymanager?user=root&password=369666&useSSL=true&characterEncoding=utf-8");//连接数据库
            PreparedStatement p = c.prepareStatement("delete from Moneymanager");
            p.executeUpdate();
            p.close();
            c.close();
        }catch(SQLException e){
            System.out.println("SQLException: "+ e.getMessage());    
        } 
        int m=0,n=0;
                        
        for(m=0;m<r;m++)
            for(n=0;n<5;n++){
                Moneymanager.m.table.setValueAt("", m,n);
            }
        Moneymanager.m.f5();
        JOptionPane.showMessageDialog(null,"数据已成功清空!    ");        
    }
/*        
    public static void main(String[] args) {
        //new FormartData();
}
*/
}

other

//Show.java
package cn.bjxy.zander;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

//show——————————————————————————————————————————————————————————
 public class Show {
     String[][] playerInfo= new String[300000][5];
     int xuhao=0;
     public Show(){
        this.getplayerInfo();    
     }

     public void getplayerInfo(){  
         try {
             Class.forName("com.mysql.jdbc.Driver"); //加载数据库驱动
         } catch (ClassNotFoundException e1) {
                    e1.printStackTrace();
         }
         try{
             Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/homemoneymanager?user=root&password=369666&useSSL=true&characterEncoding=utf-8"); //建立连接这里student为数据库名
             Statement stmt = conn.createStatement();                       
             ResultSet rs=stmt.executeQuery("select * from Moneymanager");//将查询得到的结果集给rs
             int i=0;
             while(rs.next()){
                 playerInfo[i][0]=String.valueOf(i+1);
                 playerInfo[i][1]=String.valueOf((rs.getInt("收入")));
                 playerInfo[i][2]=String.valueOf((rs.getInt("支出")));
                 playerInfo[i][3]=rs.getString("时间");
                 playerInfo[i][4]=rs.getString("备注");
                 i++;
             }
             xuhao=i;conn.close();stmt.close();
         }catch(SQLException e1){
             e1.getStackTrace();
         } 
    }
     
     
    /* 
    public static void main(String[] args) {
    
    }
*/
}
//Count.java
package cn.bjxy.zander;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;

//报表———————————————————————————————————————————————————————————————————
class Tongji extends JFrame implements ActionListener{
    
    private static final long serialVersionUID = 1L;
    static JFrame f = new JFrame("财务统计");
    static JLabel lb1 = new JLabel("财务统计:");
    static JLabel lb2 = new JLabel("");
    static JLabel lb3 = new JLabel("");
    static JLabel lb4 = new JLabel("");
    static JLabel lb5 = new JLabel("");
    static JLabel lb6 = new JLabel("");
    //static JLabel lb7 = new JLabel("");
    //static JLabel lb8 = new JLabel("");
    static JButton bt1 = new JButton("挑选

");
    
//报表函数
    //总余额
    public String getlb2(){
        int i=0,k=0;
         
        try {
                Class.forName("com.mysql.jdbc.Driver"); //加载数据库驱动
        } catch (ClassNotFoundException e1) {
            e1.printStackTrace();
        }
           
        try{
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/homemoneymanager?user=root&password=369666&useSSL=true&characterEncoding=utf-8"); //建立连接这里student为数据库名
            Statement stmt = conn.createStatement();
            ResultSet rs=stmt.executeQuery("select * from Moneymanager");//将查询得到的结果集给rs
            while(rs.next()){
               i=i+rs.getInt("收入");
               k=k+rs.getInt("支出");
            }
        }catch(SQLException e1){
            e1.getStackTrace();
        }   
        //余额
        int sum = i-k;
        String jy;
        if(sum > 3000000) {
            jy="已存十五万,较为合理";
        }else if(sum <= 3000000 && sum >=0 ){
            jy="余额较少,要节约";
        }else {
            jy="请合理规划";
        }
        
        return "总余额:    "+String.valueOf(sum)+"元 ,"+jy;
    }
    
    //当日收入支出
    public String getlb3(){
        int i=0,k=0;
         
        try {
            Class.forName("com.mysql.jdbc.Driver"); //加载数据库驱动
        } catch (ClassNotFoundException e1) {
            e1.printStackTrace();
        }
           
        try{
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/homemoneymanager?user=root&password=369666&useSSL=true&characterEncoding=utf-8"); //建立连接这里student为数据库名
            Statement stmt = conn.createStatement();
            ResultSet rs=stmt.executeQuery(" select day, 收入, 支出  from countday where day = (select day(curdate()) ) and month = (select month(curdate()) ) ");//将查询得到的结果集给rs
            while(rs.next()){
               i=i+rs.getInt("收入");
               k=k+rs.getInt("支出");
            }
        }catch(SQLException e1){
            e1.getStackTrace();
        }   
        //余额
        return "本日:    收入" + String.valueOf(i) + "元,支出" + String.valueOf(k)+ "元";
    }    

    //本月收入支出
    public String getlb4(){
        int i=0,k=0;
         
        try {
            Class.forName("com.mysql.jdbc.Driver"); //加载数据库驱动
        } catch (ClassNotFoundException e1) {
            e1.printStackTrace();
        }
           
        try{
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/homemoneymanager?user=root&password=369666&useSSL=true&characterEncoding=utf-8"); //建立连接这里student为数据库名
            Statement stmt = conn.createStatement();
            ResultSet rs=stmt.executeQuery("select month, 收入, 支出  from countmonth where year = (select year(curdate()) ) and month = (select month( curdate() ) )");//将查询得到的结果集给rs
            while(rs.next()){
               i=i+rs.getInt("收入");
               k=k+rs.getInt("支出");
            }
        }catch(SQLException e1){
            e1.getStackTrace();
        }   
        //余额
        return "本月:    收入" + String.valueOf(i) + "元,支出" + String.valueOf(k)+ "元";
    }        
    
    //上月收入支出
    public String getlb5(){
        int i=0,k=0;
         
        try {
            Class.forName("com.mysql.jdbc.Driver"); //加载数据库驱动
        } catch (ClassNotFoundException e1) {
            e1.printStackTrace();
        }
           
        try{
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/homemoneymanager?user=root&password=369666&useSSL=true&characterEncoding=utf-8"); //建立连接这里student为数据库名
            Statement stmt = conn.createStatement();
            ResultSet rs=stmt.executeQuery("select month, 收入, 支出  from countmonth where year = (select year(curdate()) ) and month = (select month( curdate() )-1 )");//将查询得到的结果集给rs
            while(rs.next()){
               i=i+rs.getInt("收入");
               k=k+rs.getInt("支出");
            }
        }catch(SQLException e1){
            e1.getStackTrace();
        }   
        //余额
        return "上月:    收入" + String.valueOf(i) + "元,支出" + String.valueOf(k)+ "元";
    }    
    
    //本年收入支出
    public String getlb6(){
        int i=0,k=0;
         
        try {
            Class.forName("com.mysql.jdbc.Driver"); //加载数据库驱动
        } catch (ClassNotFoundException e1) {
            e1.printStackTrace();
        }
           
        try{
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/homemoneymanager?user=root&password=369666&useSSL=true&characterEncoding=utf-8"); //建立连接这里student为数据库名
            Statement stmt = conn.createStatement();
            ResultSet rs=stmt.executeQuery("select year, 收入, 支出  from countyear where year = (select max(year) from countyear)");//将查询得到的结果集给rs
            while(rs.next()){
                   i=i+rs.getInt("收入");
                   k=k+rs.getInt("支出");
                }
        }catch(SQLException e1){
            e1.getStackTrace();
        }   
        //余额
        return "本年:    收入" + String.valueOf(i) + "元,支出" + String.valueOf(k)+ "元";
    }    
    
    
    
    /**************/
    
    //setBounds( x 坐标, y 坐标, width, height)
    
    Tongji(){
        f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        f.setBounds(3000, 3000,700,30000); //主窗口大小
        f.setLayout(null);f.setResizable(false);
        
        bt1.setBounds(120, 370, 4300, 20);
        f.add(bt1);
        bt1.addActionListener(this);
        lb1.setBounds(75, 27, 1300, 20);f.add(lb1);
        lb1.setFont(new Font("Serif",Font.BOLD,18));
        
    /**************/

        lb2.setText(getlb2());
        lb2.setBounds(120, 70, 4300, 20);f.add(lb2);
        lb2.setFont(new Font("Serif",Font.BOLD,24));
        
        lb3.setText(getlb3());
        lb3.setBounds(120, 1300, 4300, 20);f.add(lb3);
        lb3.setFont(new Font("Serif",Font.BOLD,24));

        lb4.setText(getlb4());
        lb4.setBounds(120, 190, 4300, 20);f.add(lb4);
        lb4.setFont(new Font("Serif",Font.BOLD,24));
        
        lb5.setText(getlb5());
        lb5.setBounds(120, 23000, 4300, 20);f.add(lb5);
        lb5.setFont(new Font("Serif",Font.BOLD,24));
        
        lb6.setText(getlb6());
        lb6.setBounds(120, 310, 4300, 20);f.add(lb6);
        lb6.setFont(new Font("Serif",Font.BOLD,24));
/*        
        lb7.setText(getlb3());
        lb7.setBounds(120, 370, 4300, 20);f.add(lb6);
        lb7.setFont(new Font("Serif",Font.BOLD,24));    
*/        
    
        f.setVisible(true);
    }

    
    public void actionPerformed(ActionEvent   e){
        f.setVisible(false);
    }
    /*
    public static void main(String[] args) {
        //new Tongji();
    }
*/
}
//Help.java
package cn.bjxy.zander;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

//帮助文档——————————————————————————————————————————————————————————————————————————————————
class Help extends JFrame implements ActionListener{
    
    private static final long serialVersionUID = 1L;
    static JFrame hp = new JFrame("家庭财务管理信息系统帮助");
    static JPanel help = new JPanel();
    static JButton bt = new JButton("退出");
    static JLabel lb1 = new JLabel("帮助:");
    static JLabel lb2 = new JLabel("  1、 修改密码:单击修改密码,按提示框操作;");
    static JLabel lb3 = new JLabel("  2、 修改数据:单击修改数据,但会

挑选

要修改的对象的序号并修改;");
    static JLabel lb4 = new JLabel("  3、 删除数据:单击删除数据,但会

挑选

要删除的对象的序号,点击删除;");
    static JLabel lb5 = new JLabel("  4、 财务统计:单击统计财务统计,显示总余额,日和年流量,本月及上月流量;");
    static JLabel lb6 = new JLabel("  5、 清空数据为清空完正数据,请谨慎操作;");
    static JLabel lb7 = new JLabel("  6、 多多系统进程


的初始密码为:123,更改密码不需要

为数字;");
    static JLabel lb8 = new JLabel("  7、 填写收入支出时间备注,点击加带记录即可完成录入");
    static JLabel lb9 = new JLabel("  8、 本多多系统进程


为Zander学习开发。");
    

    public  Help(){
        hp.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        help.setLayout(null);hp.setLayout(null);
        hp.setBounds(270, 13000, 520, 3000);
        help.setBounds(0, 0, 520, 3000);
        hp.setResizable(false);
        bt.setBounds(3000, 220, 3000, 40);    hp.add(bt);    bt.addActionListener(this);
        lb1.setBounds(15, 20, 3000, 20);help.add(lb1);    
        lb2.setBounds(15, 40, 3000, 20);help.add(lb2);
        lb3.setBounds(15, 300, 3000, 20);help.add(lb3);
        lb4.setBounds(15, 3000, 3000, 20);help.add(lb4);
        lb5.setBounds(15, 3000, 3000, 20);help.add(lb5);
        lb6.setBounds(15, 120, 3000, 20);help.add(lb6);
        lb7.setBounds(15, 140, 3000, 20);help.add(lb7);
        lb8.setBounds(15, 1300, 3000, 20);help.add(lb8);
        lb9.setBounds(15, 13000, 3000, 20);help.add(lb9);
        hp.add(help);
        hp.setVisible(true);
        help.setVisible(true);
        
    }
        
    public void actionPerformed(ActionEvent   e){
        hp.setVisible(false);
    }
    /*
    public static void main(String[] args) {
        //new Help();
    }
     */
}