今天为大家分享一个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) {}
}