• Java课程设计——人事管理系统


    主界面代码:

      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         //生成JPanel
    103         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             else
    158                 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             else
    187                 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             else
    204                 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             else
    221                 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 }
  • 相关阅读:
    A Simple Problem with Integers poj 3468 多树状数组解决区间修改问题。
    Fliptile 开关问题 poj 3279
    Face The Right Way 一道不错的尺取法和标记法题目。 poj 3276
    Aggressive cows 二分不仅仅是查找
    Cable master(二分题 注意精度)
    B. Pasha and String
    Intervals poj 1201 差分约束系统
    UITextField的快速基本使用代码块
    将UIImage转换成圆形图片image
    color转成image对象
  • 原文地址:https://www.cnblogs.com/wxywxy/p/6919886.html
Copyright © 2020-2023  润新知