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 }

 

posted @ 2017-05-30 10:34  王醒燕  阅读(11481)  评论(10编辑  收藏  举报