博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java课程设计——人事管理系统
阅读量:5917 次
发布时间:2019-06-19

本文共 10248 字,大约阅读时间需要 34 分钟。

主界面代码:

1 package PersonSystem;  2   3 import java.awt.*;  4 import java.awt.event.*;  5 import javax.swing.*;  6 import javax.swing.event.*;  7 import javax.swing.tree.*;  8 import java.net.*;  9 /** 10  *  11  * 人事管理系统主界面 12  * 13  */ 14 public class HrMain extends JFrame implements ActionListener,TreeSelectionListener 15 { 16     Dimension faceSize  = new Dimension(650,450); 17     Image icon; 18     //建立JTree菜单 19     JTree tree; 20     DefaultMutableTreeNode root;//人事管理系统 21     DefaultMutableTreeNode node1;//人员基本信息维护 22     DefaultMutableTreeNode node2;//部门信息管理 23     DefaultMutableTreeNode node3;//人员调动管理 24     DefaultMutableTreeNode node4;//人员考核管理 25     DefaultMutableTreeNode node5;//劳资管理 26     DefaultMutableTreeNode leafnode; 27     TreePath treePath; 28      29     //主界面面板 30     public static JSplitPane splitPane; 31     JPanel panel1; 32     JPanel panel2; 33     JPanel panel3; 34     JLabel welcome = new JLabel(); 35     JScrollPane scrollPane; 36     /** 37      * 程序初始化函数 38      */ 39     public HrMain() 40     { 41         enableEvents(AWTEvent.WINDOW_EVENT_MASK); 42         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 43         this.pack(); 44         this.setSize(faceSize); 45         this.setTitle("人事管理系统"); 46         icon = getImage("icon.png"); 47         this.setIconImage(icon);//设置程序图标 48         this.setResizable(false); 49         try{ 50             Init(); 51         } 52         catch(Exception e){ 53             e.printStackTrace(); 54         } 55     } 56     /** 57      * 程序初始化函数 58      */ 59     private void Init() throws Exception 60     { 61         //添加JTree菜单 62         root = new DefaultMutableTreeNode("人事管理系统"); 63         node1 = new DefaultMutableTreeNode("基本信息管理"); 64         node2 = new DefaultMutableTreeNode("人员调动管理"); 65         node3 = new DefaultMutableTreeNode("人员考核管理"); 66         node4 = new DefaultMutableTreeNode("劳资管理"); 67         //人员基本信息 68         root.add(node1); 69         leafnode = new DefaultMutableTreeNode("添加人员信息"); 70         node1.add(leafnode); 71         leafnode = new DefaultMutableTreeNode("修改人员信息"); 72         node1.add(leafnode); 73         leafnode = new DefaultMutableTreeNode("删除人员信息"); 74         node1.add(leafnode); 75         leafnode = new DefaultMutableTreeNode("查询人员信息"); 76         node1.add(leafnode); 77         leafnode = new DefaultMutableTreeNode("部门管理"); 78         node1.add(leafnode); 79         //人员调动 80         root.add(node2); 81         leafnode = new DefaultMutableTreeNode("人员调动"); 82         node2.add(leafnode); 83         leafnode = new DefaultMutableTreeNode("调动历史查询"); 84         node2.add(leafnode); 85         //人员考核管理 86         root.add(node3); 87         leafnode = new DefaultMutableTreeNode("人员考核"); 88         node3.add(leafnode); 89         leafnode = new DefaultMutableTreeNode("考核历史查询"); 90         node3.add(leafnode); 91         //劳资管理 92         root.add(node4); 93         leafnode = new DefaultMutableTreeNode("劳资分配管理"); 94         node4.add(leafnode); 95         leafnode = new DefaultMutableTreeNode("劳资历史查询"); 96         node4.add(leafnode); 97         //生成左侧的JTree 98         tree = new JTree(root); 99         scrollPane = new JScrollPane(tree);100         scrollPane.setPreferredSize(new Dimension(150,400));101         tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);102         //生成JPanel103         panel1 = new JPanel();104         panel2 = new JPanel();105         panel3 = new JPanel();106         panel1.add(scrollPane);107         welcome.setText("欢迎使用人事管理系统");108         welcome.setFont(new Font("Dialog",0,16));109         panel3.add(welcome);110         //生成JSplitPane并设置参数111         splitPane = new JSplitPane();112         splitPane.setOneTouchExpandable(false);113         splitPane.setContinuousLayout(true);114         splitPane.setPreferredSize(new Dimension(150,400));115         splitPane.setOrientation(JSplitPane.HORIZONTAL_SPLIT);116         splitPane.setLeftComponent(panel1);117         splitPane.setRightComponent(panel3);118         splitPane.setDividerSize(2);119         splitPane.setDividerLocation(161);120         //生成主界面121         this.setContentPane(splitPane);122         this.setVisible(true);123         //添加事件侦听124         tree.addTreeSelectionListener(this);125         //关闭程序时的操作126         this.addWindowListener(127                 new WindowAdapter(){128                     public void windowClosing(WindowEvent e){129                         System.exit(0);130                     }131                 }132         );133     }134     /**135      * 事件处理136      */137     public void actionPerformed(ActionEvent e){138         139     }140     /**141      * JTree事件处理142      */143     public void valueChanged(TreeSelectionEvent tse)144     {145         DefaultMutableTreeNode dnode = (DefaultMutableTreeNode)tse.getPath().getLastPathComponent();146         System.out.println("dnode="+dnode);147         String node_str = dnode.toString();148         if(node_str == "人事管理系统"){149             splitPane.setRightComponent(panel3);150         }151         //人员基本信息树152         else if(node_str == "基本信息管理"){153             //当选中后展开或关闭叶子节点154             treePath = new TreePath(node1.getPath());155             if(tree.isExpanded(treePath))156                 tree.collapsePath(treePath);157             else158                 tree.expandPath(treePath);159         }160         else if(node_str == "添加人员信息"){161             Node11Panel node11Panel = new Node11Panel();162             splitPane.setRightComponent(node11Panel);163         }164         else if(node_str == "修改人员信息"){165             Node12Panel node12Panel = new Node12Panel();166             splitPane.setRightComponent(node12Panel);167         }168         else if(node_str == "删除人员信息"){169             Node13Panel node13Panel = new Node13Panel();170             splitPane.setRightComponent(node13Panel);171         }172         else if(node_str == "查询人员信息"){173             Node14Panel node14Panel = new Node14Panel();174             splitPane.setRightComponent(node14Panel);175         }176         else if(node_str == "部门管理"){177             Node15Panel node15Panel = new Node15Panel();178             splitPane.setRightComponent(node15Panel);179         }180         //人员调动管理树181         else if(node_str == "人员调动管理"){182             //当选中后展开或关闭叶子节点183             treePath = new TreePath(node2.getPath());184             if(tree.isExpanded(treePath))185                 tree.collapsePath(treePath);186             else187                 tree.expandPath(treePath);188         }189         else if(node_str == "人员调动"){190             Node21Panel node21Panel = new Node21Panel();191             splitPane.setRightComponent(node21Panel);192         }193         else if(node_str == "调动历史查询"){194             Node22Panel node22Panel = new Node22Panel();195             splitPane.setRightComponent(node22Panel);196         }197         //人员考核管理树198         else if(node_str == "人员考核管理"){199             //当选中后展开或关闭叶子节点200             treePath = new TreePath(node3.getPath());201             if(tree.isExpanded(treePath))202                 tree.collapsePath(treePath);203             else204                 tree.expandPath(treePath);205         }206         else if(node_str == "人员考核"){207             Node31Panel node31Panel = new Node31Panel();208             splitPane.setRightComponent(node31Panel);209         }210         else if(node_str == "考核历史查询"){211             Node32Panel node32Panel = new Node32Panel();212             splitPane.setRightComponent(node32Panel);213         }214         //劳资管理树215         else if(node_str == "劳资管理"){216             //当选中后展开或关闭叶子节点217             treePath = new TreePath(node4.getPath());218             if(tree.isExpanded(treePath))219                 tree.collapsePath(treePath);220             else221                 tree.expandPath(treePath);222         }223         else if(node_str == "劳资分配管理"){224             Node41Panel node41Panel = new Node41Panel();225             splitPane.setRightComponent(node41Panel);226         }227         else if(node_str == "劳资历史查询"){228             Node42Panel node42Panel = new Node42Panel();229             splitPane.setRightComponent(node42Panel);230         }231     }232     /**233      * 通过给定的文件名获得图像234      */235     Image getImage(String filename)236     {237         URLClassLoader urlLoader = (URLClassLoader)this.getClass().getClassLoader();238         URL url = null;239         Image image = null;240         url = urlLoader.findResource(filename);241         image = Toolkit.getDefaultToolkit().getImage(url);242         MediaTracker mediatracker = new MediaTracker(this);243         try{244             mediatracker.addImage(image, 0);245             mediatracker.waitForID(0);246         }247         catch(InterruptedException _ex){248             image = null;249         }250         if(mediatracker.isErrorID(0)){251             image = null;252         }253         return image;254     }255 }

 主类代码:

1 package PersonSystem; 2  3 import javax.swing.UIManager; 4 import java.awt.*; 5  6 /**  7  * 人事管理系统运行主类 8  */ 9 10 public class HrMS 11 {12     boolean packFrame = false;13     public HrMS()14     {15         HrMain frame = new HrMain();16         if(packFrame){17             frame.pack();18         }19         else{20             frame.validate();21         }22         //设置运行时窗口的位置23         Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();24         Dimension frameSize = frame.getSize();25         if(frameSize.height > screenSize.height){26             frameSize.height = screenSize.height;27         }28         if(frameSize.width > screenSize.width){29             frameSize.width = screenSize.width;30         }31         frame.setLocation((screenSize.width - frameSize.width)/2,(screenSize.height - frameSize.height)/2);32         frame.setVisible(true);33     }34     public static void main(String[] args)35     {36         try{37             UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());38         }39         catch(Exception e){40             e.printStackTrace();41         }42         new HrMS();43     }44 }

 

转载于:https://www.cnblogs.com/wxywxy/p/6919886.html

你可能感兴趣的文章
数据挖掘十大经典算法
查看>>
ArcGIS API for Silverlight 调用GP服务加载等值线图层
查看>>
CentOS系统rsync文件同步 安装配置
查看>>
LogStash配置、使用(三)
查看>>
SpringMVC 学习笔记(二) @RequestMapping、@PathVariable等注解
查看>>
Chrome应用技巧之颜色拾取
查看>>
Linux之通配符
查看>>
ios中摄像头和图片调用
查看>>
Content Provider 基础 之URI
查看>>
ios获取安装的app
查看>>
Visual Studio 2012出现“无法访问T-SQL组件和安装了不兼容伯 DacFx版本”的解决办法...
查看>>
第一个版本
查看>>
JSTL I18N 格式标签库 使用之二_____读取消息资源
查看>>
聊聊NettyConnector的start及shutdown
查看>>
Raffi Krikorian 为“在运行中进行架构重写”提供了指南
查看>>
OneAPM挂牌新三板,续写ITOM新篇章
查看>>
通过源码解析 Node.js 中一个 HTTP 请求到响应的历程
查看>>
做了一点事,学到了一些
查看>>
CodeIgniter的密码处理论
查看>>
深入Mysql - 谈谈我对数据类型的认识
查看>>