1 packagePersonSystem;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 implementsActionListener,TreeSelectionListener15 {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 staticJSplitPane splitPane;31 JPanel panel1;32 JPanel panel2;33 JPanel panel3;34 JLabel welcome = newJLabel();35 JScrollPane scrollPane;36 /**

37 * 程序初始化函数38 */

39 publicHrMain()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() throwsException60 {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 = newJTree(root);99 scrollPane = newJScrollPane(tree);100 scrollPane.setPreferredSize(new Dimension(150,400));101 tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);102 //生成JPanel

103 panel1 = newJPanel();104 panel2 = newJPanel();105 panel3 = newJPanel();106 panel1.add(scrollPane);107 welcome.setText("欢迎使用人事管理系统");108 welcome.setFont(new Font("Dialog",0,16));109 panel3.add(welcome);110 //生成JSplitPane并设置参数

111 splitPane = newJSplitPane();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 newWindowAdapter(){128 public voidwindowClosing(WindowEvent e){129 System.exit(0);130 }131 }132 );133 }134 /**

135 * 事件处理136 */

137 public voidactionPerformed(ActionEvent e){138

139 }140 /**

141 * JTree事件处理142 */

143 public voidvalueChanged(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 = newTreePath(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 = newNode11Panel();162 splitPane.setRightComponent(node11Panel);163 }164 else if(node_str == "修改人员信息"){165 Node12Panel node12Panel = newNode12Panel();166 splitPane.setRightComponent(node12Panel);167 }168 else if(node_str == "删除人员信息"){169 Node13Panel node13Panel = newNode13Panel();170 splitPane.setRightComponent(node13Panel);171 }172 else if(node_str == "查询人员信息"){173 Node14Panel node14Panel = newNode14Panel();174 splitPane.setRightComponent(node14Panel);175 }176 else if(node_str == "部门管理"){177 Node15Panel node15Panel = newNode15Panel();178 splitPane.setRightComponent(node15Panel);179 }180 //人员调动管理树

181 else if(node_str == "人员调动管理"){182 //当选中后展开或关闭叶子节点

183 treePath = newTreePath(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 = newNode21Panel();191 splitPane.setRightComponent(node21Panel);192 }193 else if(node_str == "调动历史查询"){194 Node22Panel node22Panel = newNode22Panel();195 splitPane.setRightComponent(node22Panel);196 }197 //人员考核管理树

198 else if(node_str == "人员考核管理"){199 //当选中后展开或关闭叶子节点

200 treePath = newTreePath(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 = newNode31Panel();208 splitPane.setRightComponent(node31Panel);209 }210 else if(node_str == "考核历史查询"){211 Node32Panel node32Panel = newNode32Panel();212 splitPane.setRightComponent(node32Panel);213 }214 //劳资管理树

215 else if(node_str == "劳资管理"){216 //当选中后展开或关闭叶子节点

217 treePath = newTreePath(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 = newNode41Panel();225 splitPane.setRightComponent(node41Panel);226 }227 else if(node_str == "劳资历史查询"){228 Node42Panel node42Panel = newNode42Panel();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 returnimage;254 }255 }

java人事管理系统_Java课程设计——人事管理系统相关推荐

  1. 人事管理java 课程设计_java课程设计人事管理系统

    <java课程设计人事管理系统>由会员分享,可在线阅读,更多相关<java课程设计人事管理系统(31页珍藏版)>请在人人文库网上搜索. 1.人事管理系统一. 系统需求分析: ( ...

  2. java课设 火车订票_JAVA课程设计火车票管理系统

    JAVA课程设计火车票管理系统 *******************实践教学*******************兰州理工大学计算机与通信学院2013 年秋季学期Java 课程设计题 目: 火车票管 ...

  3. java驾校管理系统代码_JAVA课程设计驾校管理系统

    [实例简介] 该项目是用JAVA-Swing编写.需要建立一个mysql表.因为软件问题无法导出,请读者自行创建.表的列数据在下载文件的截图中,因为程序有导出数据库到Excel文件和界面美化(共27个 ...

  4. java 密码生成器_Java课程设计-随机密码生成器

    1.团队课程设计博客链接 2.个人负责模板 设计程序运行界面,数据的输入,判断数据输入类型的错误,判断密码类型是否选择. 3.自己的代码提交记录截图 4自己负责模块或任务详细说明 (一)总体设计 1. ...

  5. java闹钟程序设计_JAVA课程设计_闹钟的设计与实现项目-报告_附源代码.doc

    JAVA课程设计_闹钟的设计与实现项目-报告_附源代码 第2章 MACROBUTTON AcceptAllChangesInDoc [双击此处键入1级标题] PAGE 2 - PAGE 1 - .. ...

  6. java atm柜机_java课程设计-ATM柜机模拟程序.doc

    java课程设计-ATM柜机模拟程序 课程设计(大作业)报告课程名称:面向对象程序设计课程设计 设计题目:ATM柜员机模拟程序 院 系:信息技术学院 班 级: 设 计 者: 学 号: 指导教师: 设计 ...

  7. 五子棋java百度文库_JAVA课程设计 五子棋(内附完整代码).doc

    JAVA课程设计 五子棋(内附完整代码) JAVA课程设计 设计题目:五子棋游戏 简要的介绍五子棋 五子棋的起源 五子棋,又被称为"连五子.五子连.串珠.五目.五目碰.五格.五石.五法.五联 ...

  8. java蜘蛛纸牌_Java课程设计——蜘蛛纸牌

    一.团队名称.团队成员介绍.任务分配 团队名称:Panta 团队成员介绍 网络1713蔡炜明[组长] 201721123076 网络1713高枫    [组员] 201721123090 任务分配 网 ...

  9. java cs系统_Java课程设计——基于CS模式的用户管理系统

    Java笔记 Java项目设计思路: MVC设计模式: M:model:数据模型,类似于数据库中得一张表. V:view:视图,呈现给用户得操作界面,用户点击按钮等操作后会展示一些界面等. C:con ...

最新文章

  1. (原創) 如何正確的使用迴圈(使用for_each)? (C/C++) (STL) (template)
  2. 匈牙利算法c语言代码,漫谈匈牙利算法
  3. Android 数据库 LiteOrm 的使用
  4. web2.0网站的配色参考方案
  5. Swift-setValuesForKeysWithDictionary
  6. 牛客题霸 [ 判断一棵二叉树是否为搜索二叉树和完全二叉树] C++题解/答案
  7. 南通大学python期末考试试卷答案_南通大学2015-2016年1学期《软工》作业点评总结...
  8. python语法_算数运算+赋值运算符+比较运算符+逻辑运算符
  9. 95-140-134-源码-transform-KeyedStream的intervalJoin
  10. 磨刀不误砍柴工,ORAchk健康检查好帮手
  11. 数据挖掘学习:站在巨人的肩膀上
  12. 201771010112罗松《面向对象程序设计(java)》第十七周学习总结
  13. 动态数据的表格页面展示
  14. #国产工业软件#外行人看工业软件,接轨还是出轨?
  15. 如何在服务器查看文件,如何在服务器地址上查看文件夹
  16. 大厂面试题含答案(二)
  17. AndroidStudio简单代码实现BMI计算
  18. linux删除screen命令,Linux screen命令
  19. 游戏地图背景移动C++
  20. SSM+停车管理系统 毕业设计-附源码171046

热门文章

  1. 【Linux内核】Linux内核介绍
  2. Qt轻量级日志库QsLog的使用
  3. 从零单刷Leetcode(JAVA描述)——46. 全排列
  4. Microsoft Visual Studio 2012正式版官方下载
  5. 虚拟机启动出现“内部错误”解决方法
  6. java和c语言哪个用途更大更广泛?
  7. 遨游Maxthon上次未关闭页面的文件保存在哪里?
  8. 调整进程的谦让度nice和renice命令
  9. 我们如何编辑图片?编辑图片的方法有哪些?
  10. mysql 带宽测试_网络带宽如何影响 MySQL 性能