java人事管理系统_Java课程设计——人事管理系统
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课程设计——人事管理系统相关推荐
- 人事管理java 课程设计_java课程设计人事管理系统
<java课程设计人事管理系统>由会员分享,可在线阅读,更多相关<java课程设计人事管理系统(31页珍藏版)>请在人人文库网上搜索. 1.人事管理系统一. 系统需求分析: ( ...
- java课设 火车订票_JAVA课程设计火车票管理系统
JAVA课程设计火车票管理系统 *******************实践教学*******************兰州理工大学计算机与通信学院2013 年秋季学期Java 课程设计题 目: 火车票管 ...
- java驾校管理系统代码_JAVA课程设计驾校管理系统
[实例简介] 该项目是用JAVA-Swing编写.需要建立一个mysql表.因为软件问题无法导出,请读者自行创建.表的列数据在下载文件的截图中,因为程序有导出数据库到Excel文件和界面美化(共27个 ...
- java 密码生成器_Java课程设计-随机密码生成器
1.团队课程设计博客链接 2.个人负责模板 设计程序运行界面,数据的输入,判断数据输入类型的错误,判断密码类型是否选择. 3.自己的代码提交记录截图 4自己负责模块或任务详细说明 (一)总体设计 1. ...
- java闹钟程序设计_JAVA课程设计_闹钟的设计与实现项目-报告_附源代码.doc
JAVA课程设计_闹钟的设计与实现项目-报告_附源代码 第2章 MACROBUTTON AcceptAllChangesInDoc [双击此处键入1级标题] PAGE 2 - PAGE 1 - .. ...
- java atm柜机_java课程设计-ATM柜机模拟程序.doc
java课程设计-ATM柜机模拟程序 课程设计(大作业)报告课程名称:面向对象程序设计课程设计 设计题目:ATM柜员机模拟程序 院 系:信息技术学院 班 级: 设 计 者: 学 号: 指导教师: 设计 ...
- 五子棋java百度文库_JAVA课程设计 五子棋(内附完整代码).doc
JAVA课程设计 五子棋(内附完整代码) JAVA课程设计 设计题目:五子棋游戏 简要的介绍五子棋 五子棋的起源 五子棋,又被称为"连五子.五子连.串珠.五目.五目碰.五格.五石.五法.五联 ...
- java蜘蛛纸牌_Java课程设计——蜘蛛纸牌
一.团队名称.团队成员介绍.任务分配 团队名称:Panta 团队成员介绍 网络1713蔡炜明[组长] 201721123076 网络1713高枫 [组员] 201721123090 任务分配 网 ...
- java cs系统_Java课程设计——基于CS模式的用户管理系统
Java笔记 Java项目设计思路: MVC设计模式: M:model:数据模型,类似于数据库中得一张表. V:view:视图,呈现给用户得操作界面,用户点击按钮等操作后会展示一些界面等. C:con ...
最新文章
- (原創) 如何正確的使用迴圈(使用for_each)? (C/C++) (STL) (template)
- 匈牙利算法c语言代码,漫谈匈牙利算法
- Android 数据库 LiteOrm 的使用
- web2.0网站的配色参考方案
- Swift-setValuesForKeysWithDictionary
- 牛客题霸 [ 	判断一棵二叉树是否为搜索二叉树和完全二叉树] C++题解/答案
- 南通大学python期末考试试卷答案_南通大学2015-2016年1学期《软工》作业点评总结...
- python语法_算数运算+赋值运算符+比较运算符+逻辑运算符
- 95-140-134-源码-transform-KeyedStream的intervalJoin
- 磨刀不误砍柴工,ORAchk健康检查好帮手
- 数据挖掘学习:站在巨人的肩膀上
- 201771010112罗松《面向对象程序设计(java)》第十七周学习总结
- 动态数据的表格页面展示
- #国产工业软件#外行人看工业软件,接轨还是出轨?
- 如何在服务器查看文件,如何在服务器地址上查看文件夹
- 大厂面试题含答案(二)
- AndroidStudio简单代码实现BMI计算
- linux删除screen命令,Linux screen命令
- 游戏地图背景移动C++
- SSM+停车管理系统 毕业设计-附源码171046