Bootstrap

Java 公司财务系统 窗体程序 完整源码

今天为大家分享一个java语言编写的公司财务管理系统,目前系统已经完成了主要功能,后续会进一步完善。整个系统界面漂亮,有完整得源码,希望大家可以喜欢。喜欢的帮忙点赞和关注。一起编程、一起进步

开发环境

开发语言为Java,开发环境Eclipse或者IDEA都可以。数据库采用:MySQL。运行主程序,或者执行打开JAR文件即可以运行本程序。

系统框架

利用JDK自带的SWING框架开发,不需要安装第三方JAR包。MySQL数据库,纯窗体模式,直接运行Main文件即可以。同时带有详细得设计文档

运行方法

1 运行Main.java文件

2 程序出现公司财务管理系统登陆的面板

系统主要功能

系统主要分为6个主要的模块:材料管理、订单管理、工程管理、员工信息管理、财务管理、汽车消费

1 材料管理:记录材料的使用情况,包括新增,删除,修改。材料使用记录以下一些字段:

记录编号、材料编号、数量、单价、供货商、日期、总价。

2 订单管理:订单的新增,删除,修改等功能。订单记录包括:客户、联系电话、规格、单价、数量、预付款

3 员工管理:员工的新增、删除、查询和修改。员工信息包括:用户工号、姓名、性别、电话、地址、学历、出生日期。

4 工资管理:工资录入,查询和修改。工资信息包括:姓名,身份证、籍贯、月份、工资

5 财务管理:财务管理包括财务的新增、删除、修改等操作。财务信息包括:记录编号、客户名、联系电话、规格、单价、数量、预付款、总报价剩余款、发生日期。

6 汽车消费:记录公司汽车消费情况。汽车消费包含字段信息包括:记录编号、车牌号、消费日期、金额。

7 对所有功能模块的单据进行打印操作。

系统运行效果

关键代码

package salary;
import javax.swing.*;
import javax.swing.event.TreeModelEvent;
import javax.swing.event.TreeModelListener;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.print.PrinterException;
public class Main_window implements TreeModelListener,TreeSelectionListener{
    private JPanel panel,panel_1;
    private JTree tree;
    private JLabel label,label_1;        
    private JMenuBar menubar;    
    private JMenu menu1,menu2,menu3,menu4,menu5;
    private DefaultMutableTreeNode node1,node2,node3,node5,node6,leftnode1,leftnode4,leftnode5,leftnode7,
                                    leftnode8,leftnode11,rightnode1,rightnode2;
    
    JPanel panel_2 = new JPanel();                            //中间主要操作区的panel
    JFrame jf = new JFrame("博森账务管理");
    JPanel panel1 = new JPanel();                        //创建一个panel对象
    JPanel panel2 = new JPanel();
    ImageIcon bottom = new ImageIcon("image\\bottom.jpg");
    ImageIcon top = new ImageIcon("image\\top.jpg");
    JLabel label1 = new JLabel(top);                     //两个panel盛放两张图片
    JLabel label2 = new JLabel(bottom);
        
    public void Main_window(){
        
        try{                        //设置观感器 
            UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
        }catch(Exception e1){
            e1.printStackTrace();
        }
        
        final Container contentpane = jf.getContentPane();        //获得内容面板
        jf.getContentPane().setLayout(new BorderLayout());
        panel1 = (JPanel)contentpane;
        jf.setSize(1000, 667);
        panel2.setLayout(new BorderLayout());
        jf.setJMenuBar(getMenubar());
        panel_2.setBackground(Color.lightGray);
        panel_2 = getPanel_1();
                
        jf.getContentPane().add(getLabel(), BorderLayout.SOUTH);
        jf.getContentPane().add(getPanel(), BorderLayout.NORTH);
        jf.getContentPane().add(getTree(), BorderLayout.WEST);
        jf.getContentPane().add(panel_2, BorderLayout.CENTER);
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        //设置jf的可关性
        jf.setLocation(130,50);
        jf.setVisible(true);
        jf.setResizable(false);        
        jf.show();
        }
    /**
     * @return
     */
    protected JLabel getLabel() {                                //标签
        if (label == null) {
            label = new JLabel(bottom);
            label.setText("");
        }
        return label;
    }
    /**
     * @return
     */
    protected JPanel getPanel() {                        //盛放top.jpg
        if (panel == null) {
            panel = new JPanel();
            panel.setLayout(new GridLayout(1, 0));
            panel.add(getLabel_1());
            
        }
        return panel;
    }
    /**
     * @return
     */
    protected JLabel getLabel_1() {                            //盛放top.jpg的label
        if (label_1 == null) {
            label_1 = new JLabel(top);
            label_1.setText("");
        }
        return label_1;
    }
    /**
     * @return
     */
    protected JTree getTree() {                            //树形结构
        if (tree == null) {            
            DefaultMutableTreeNode root = new DefaultMutableTreeNode("广州博森账务管理系统"); //创建根节点
            node1 = new DefaultMutableTreeNode("材料管理");
            node5 = new DefaultMutableTreeNode("账务管理");
            node2 = new DefaultMutableTreeNode("订单管理");
            node3 = new DefaultMutableTreeNode("员工信息管理");
            node6 = new DefaultMutableTreeNode("汽车消费");
            root.add(node1);
            root.add(node2);
            root.add(node3);        
            root.add(node5);
            root.add(node6);
            
            leftnode1 = new DefaultMutableTreeNode("进料记录");
            node1.add(leftnode1);        
            leftnode4 = new DefaultMutableTreeNode("订单记录");
            node2.add(leftnode4);
            leftnode5 = new DefaultMutableTreeNode("员工信息记录");
            node3.add(leftnode5);            
            leftnode7 = new DefaultMutableTreeNode("工资管理");
            node3.add(leftnode7);
            leftnode8 = new DefaultMutableTreeNode("账务查看");    
            node5.add(leftnode8);
            leftnode11 = new DefaultMutableTreeNode("消费查看");
            node6.add(leftnode11);                        
            
            rightnode2 = new DefaultMutableTreeNode("工资预支");
            leftnode7.add(rightnode2);
                        
            tree = new JTree(root);
            tree.addTreeSelectionListener(this);
            tree.setBorder(BorderFactory.createLineBorder(Color.lightGray));
        }
        return tree;
    }
    /**
     * @return
     */
    protected JPanel getPanel_1() {                        //中间主要操作区
        if (panel_1 == null) {
            panel_1 = new JPanel();
            panel_2 = new JPanel();            //盛放六个图标
            panel_1.setBackground(Color.white);
            panel_2.setBackground(Color.white);    
            panel_1.setLayout(new BorderLayout());//设置panel_1的布局管理器
            panel_2.setLayout(new GridLayout(2,3));
            ImageIcon icon1 = new ImageIcon("image\\材料.jpg");
            ImageIcon icon2 = new ImageIcon("image\\订单.jpg");
            ImageIcon icon3 = new ImageIcon("image\\工程.jpg");
            ImageIcon icon4 = new ImageIcon("image\\工人.jpg");
            ImageIcon icon5 = new ImageIcon("image\\账务.jpg");
            ImageIcon icon6 = new ImageIcon("image\\汽车.jpg");
            
            JLabel label5 = new JLabel(icon1);
            JLabel label6 = new JLabel(icon2);
            JLabel label7 = new JLabel(icon3);
            JLabel label8 = new JLabel(icon4);
            JLabel label9 = new JLabel(icon5);
            JLabel label10 = new JLabel(icon6);
            
            JLabel label1 = new JLabel("    ");        //填充四周的空白
            JLabel label2 = new JLabel("          ");
            JLabel label3 = new JLabel("          ");
            JLabel label4 = new JLabel("    ");
            panel_1.setLayout(new BorderLayout());                
            panel_1.add(label1,BorderLayout.SOUTH);
            panel_1.add(label2,BorderLayout.EAST);
            panel_1.add(label3,BorderLayout.WEST);
            panel_1.add(label4,BorderLayout.NORTH);
            panel_1.add(panel_2,BorderLayout.CENTER);
            
            panel_2.add(label5);
            panel_2.add(label6);
            panel_2.add(label7);
            panel_2.add(label8);
            panel_2.add(label9);
            panel_2.add(label10);
        }
        return panel_1;
    }    
    /**
     * @return
     */
    protected JMenuBar getMenubar(){                            //创建menubar
        if(menubar == null){
            try{                        //设置观感器 
                UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
            }catch(Exception e1){
                e1.printStackTrace();
            }
            menubar = new JMenuBar();
            menubar.add(getMenu1());
            menubar.add(getMenu2());
            menubar.add(getMenu3());
            menubar.add(getMenu5());
            menubar.add(getMenu4());            
        }
        return menubar;
    }
    /**
     * @return
     */    
    protected JMenu getMenu1(){
        if(menu1 == null){
            menu1 = new JMenu();
            menu1.setText("业绩柱形图(C)");
            //JMenuItem item1 = new JMenuItem("订单查询");
            //JMenuItem item2 = new JMenuItem("账务查询");
            //JMenuItem item3 = new JMenuItem("材料查询");
            //JMenuItem item4 = new JMenuItem("员工工资查询");
            //JMenuItem item6 = new JMenuItem("汽车消费查询");
            JMenuItem item7 = new JMenuItem("业绩柱形图");
            item7.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e){
                    BarChart_d frame = new BarChart_d();
                    frame.setLocation(130,50);
                      frame.setSize(1000,667);
                      frame.setVisible(true);
                }
            });
            
        //    menu1.add(item1);
        //    menu1.add(item2);
        //    menu1.add(item3);
        //    menu1.add(item4);
        //    menu1.add(item6);
            menu1.add(item7);
        }
        return menu1;
    }
    /**
     * @return
     */
    protected JMenu getMenu2(){
        if(menu2 == null){
            menu2 = new JMenu();
            menu2.setText("表单打印(P)");
            JMenuItem item1 = new JMenuItem("订单");            
            JMenuItem item3 = new JMenuItem("账务清单");
            JMenuItem item4 = new JMenuItem("材料清单");
            
            item1.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e) {
                    try {                        
                        Order o = new Order();
                        panel_2.add(o.Order_window());
                        o.table.print();
                    } catch (Exception e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }
                }
            });
            
            item3.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e) {
                    try {                        
                        Finance f = new Finance();
                        panel_2.add(f.Finance_window());
                        f.table.print();
                    } catch (Exception e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }
                }
            });
            
            item4.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e) {
                    try {                        
                        Material m = new Material();
                        panel_2.add(m.Material_window());
                        m.table.print();
                    } catch (Exception e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }
                }
            });
            
            
            menu2.add(item1);            
            menu2.add(item3);
            menu2.add(item4);
            
        }
        return menu2;
    }
    /**
     * @return
     */
    protected JMenu getMenu3(){                            //用户管理模块
        if(menu3 == null){
            menu3 = new JMenu();
            menu3.setText("用户管理(U)");
            JMenuItem item1 = new JMenuItem("修改密码");
            item1.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e){
                    new Admin().Admin_window(new Main_window().jf);
                    }
                }
            );
            JMenuItem item2 = new JMenuItem("注销用户");
            item2.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e){
                    new Admin().Admin_window(new Main_window().jf);
                    }
                }
            );
            JMenuItem item3 = new JMenuItem("创建用户");
            item3.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e){
                    new Admin().Admin_window(new Main_window().jf);
                    }
                }
            );
            menu3.add(item1);
            menu3.add(item2);
            menu3.add(item3);
        }
        return menu3;
    }
    /**
     * @return
     */
    protected JMenu getMenu4(){
        if(menu4 == null){
            menu4 = new JMenu();
            menu4.setText("帮助(H)");
            JMenuItem item1 = new JMenuItem("操作说明");
            menu4.add(item1);            
        }
        return menu4;
    }
    /**
     * @return
     */
    protected JMenu getMenu5(){
        
        if(menu5 == null){
            menu5 = new JMenu();
            menu5.setText("系统管理(S)");
            JMenuItem item1 = new JMenuItem("退出登录");
            item1.addActionListener(new ActionListener(){
                    public void actionPerformed(ActionEvent e) {
                        // TODO Auto-generated method stub
                        int i = JOptionPane.showConfirmDialog(null, "是否要退出?");
                        if(i == 0){        
                            jf.dispose();
                            new Front_window().Front_window();
                            
                        }
                    }
                }
            );
            menu5.add(item1);            
        }
        return menu5;
    }
    public void valueChanged(TreeSelectionEvent e) {                            //事件监听器
        // TODO Auto-generated method stub
        DefaultMutableTreeNode node = (DefaultMutableTreeNode)e.getPath().getLastPathComponent();
        if(node.equals(leftnode1)){
            panel_2.removeAll();
            panel_2.add(new Material().Material_window());            
        }
        if(node.equals(leftnode4)){
            panel_2.removeAll();
            panel_2.add(new Order().Order_window());
        }
        if(node.equals(leftnode5)){
            panel_2.removeAll();
            panel_2.add(new Staff().Staff_window());
        }
        if(node.equals(rightnode1)){
            panel_2.removeAll();
            panel_2.add(new Salary_detail().Detail_window());
        }
        if(node.equals(rightnode2)){
            panel_2.removeAll();
            panel_2.add(new Salary_advance().advance_window());
        }
        if(node.equals(leftnode8)){
            panel_2.removeAll();
            panel_2.add(new Finance().Finance_window());
        }
        if(node.equals(leftnode11)){
            panel_2.removeAll();
            panel_2.add(new Vehicle().Vehicle_window());
        }        
    }
    public void treeNodesChanged(TreeModelEvent e) {}                                //空方法,不必实现
    public void treeNodesInserted(TreeModelEvent e) {}
    public void treeNodesRemoved(TreeModelEvent e) {}
    public void treeStructureChanged(TreeModelEvent e) {}
}

;