Java课程设计——人事管理系统
主界面代码:
package PersonSystem; import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.tree.*;
import java.net.*;
/**
*
* 人事管理系统主界面
*
*/
public class HrMain extends JFrame implements ActionListener,TreeSelectionListener
{
Dimension faceSize = new Dimension(650,450);
Image icon;
//建立JTree菜单
JTree tree;
DefaultMutableTreeNode root;//人事管理系统
DefaultMutableTreeNode node1;//人员基本信息维护
DefaultMutableTreeNode node2;//部门信息管理
DefaultMutableTreeNode node3;//人员调动管理
DefaultMutableTreeNode node4;//人员考核管理
DefaultMutableTreeNode node5;//劳资管理
DefaultMutableTreeNode leafnode;
TreePath treePath; //主界面面板
public static JSplitPane splitPane;
JPanel panel1;
JPanel panel2;
JPanel panel3;
JLabel welcome = new JLabel();
JScrollPane scrollPane;
/**
* 程序初始化函数
*/
public HrMain()
{
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.pack();
this.setSize(faceSize);
this.setTitle("人事管理系统");
icon = getImage("icon.png");
this.setIconImage(icon);//设置程序图标
this.setResizable(false);
try{
Init();
}
catch(Exception e){
e.printStackTrace();
}
}
/**
* 程序初始化函数
*/
private void Init() throws Exception
{
//添加JTree菜单
root = new DefaultMutableTreeNode("人事管理系统");
node1 = new DefaultMutableTreeNode("基本信息管理");
node2 = new DefaultMutableTreeNode("人员调动管理");
node3 = new DefaultMutableTreeNode("人员考核管理");
node4 = new DefaultMutableTreeNode("劳资管理");
//人员基本信息
root.add(node1);
leafnode = new DefaultMutableTreeNode("添加人员信息");
node1.add(leafnode);
leafnode = new DefaultMutableTreeNode("修改人员信息");
node1.add(leafnode);
leafnode = new DefaultMutableTreeNode("删除人员信息");
node1.add(leafnode);
leafnode = new DefaultMutableTreeNode("查询人员信息");
node1.add(leafnode);
leafnode = new DefaultMutableTreeNode("部门管理");
node1.add(leafnode);
//人员调动
root.add(node2);
leafnode = new DefaultMutableTreeNode("人员调动");
node2.add(leafnode);
leafnode = new DefaultMutableTreeNode("调动历史查询");
node2.add(leafnode);
//人员考核管理
root.add(node3);
leafnode = new DefaultMutableTreeNode("人员考核");
node3.add(leafnode);
leafnode = new DefaultMutableTreeNode("考核历史查询");
node3.add(leafnode);
//劳资管理
root.add(node4);
leafnode = new DefaultMutableTreeNode("劳资分配管理");
node4.add(leafnode);
leafnode = new DefaultMutableTreeNode("劳资历史查询");
node4.add(leafnode);
//生成左侧的JTree
tree = new JTree(root);
scrollPane = new JScrollPane(tree);
scrollPane.setPreferredSize(new Dimension(150,400));
tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
//生成JPanel
panel1 = new JPanel();
panel2 = new JPanel();
panel3 = new JPanel();
panel1.add(scrollPane);
welcome.setText("欢迎使用人事管理系统");
welcome.setFont(new Font("Dialog",0,16));
panel3.add(welcome);
//生成JSplitPane并设置参数
splitPane = new JSplitPane();
splitPane.setOneTouchExpandable(false);
splitPane.setContinuousLayout(true);
splitPane.setPreferredSize(new Dimension(150,400));
splitPane.setOrientation(JSplitPane.HORIZONTAL_SPLIT);
splitPane.setLeftComponent(panel1);
splitPane.setRightComponent(panel3);
splitPane.setDividerSize(2);
splitPane.setDividerLocation(161);
//生成主界面
this.setContentPane(splitPane);
this.setVisible(true);
//添加事件侦听
tree.addTreeSelectionListener(this);
//关闭程序时的操作
this.addWindowListener(
new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
);
}
/**
* 事件处理
*/
public void actionPerformed(ActionEvent e){ }
/**
* JTree事件处理
*/
public void valueChanged(TreeSelectionEvent tse)
{
DefaultMutableTreeNode dnode = (DefaultMutableTreeNode)tse.getPath().getLastPathComponent();
System.out.println("dnode="+dnode);
String node_str = dnode.toString();
if(node_str == "人事管理系统"){
splitPane.setRightComponent(panel3);
}
//人员基本信息树
else if(node_str == "基本信息管理"){
//当选中后展开或关闭叶子节点
treePath = new TreePath(node1.getPath());
if(tree.isExpanded(treePath))
tree.collapsePath(treePath);
else
tree.expandPath(treePath);
}
else if(node_str == "添加人员信息"){
Node11Panel node11Panel = new Node11Panel();
splitPane.setRightComponent(node11Panel);
}
else if(node_str == "修改人员信息"){
Node12Panel node12Panel = new Node12Panel();
splitPane.setRightComponent(node12Panel);
}
else if(node_str == "删除人员信息"){
Node13Panel node13Panel = new Node13Panel();
splitPane.setRightComponent(node13Panel);
}
else if(node_str == "查询人员信息"){
Node14Panel node14Panel = new Node14Panel();
splitPane.setRightComponent(node14Panel);
}
else if(node_str == "部门管理"){
Node15Panel node15Panel = new Node15Panel();
splitPane.setRightComponent(node15Panel);
}
//人员调动管理树
else if(node_str == "人员调动管理"){
//当选中后展开或关闭叶子节点
treePath = new TreePath(node2.getPath());
if(tree.isExpanded(treePath))
tree.collapsePath(treePath);
else
tree.expandPath(treePath);
}
else if(node_str == "人员调动"){
Node21Panel node21Panel = new Node21Panel();
splitPane.setRightComponent(node21Panel);
}
else if(node_str == "调动历史查询"){
Node22Panel node22Panel = new Node22Panel();
splitPane.setRightComponent(node22Panel);
}
//人员考核管理树
else if(node_str == "人员考核管理"){
//当选中后展开或关闭叶子节点
treePath = new TreePath(node3.getPath());
if(tree.isExpanded(treePath))
tree.collapsePath(treePath);
else
tree.expandPath(treePath);
}
else if(node_str == "人员考核"){
Node31Panel node31Panel = new Node31Panel();
splitPane.setRightComponent(node31Panel);
}
else if(node_str == "考核历史查询"){
Node32Panel node32Panel = new Node32Panel();
splitPane.setRightComponent(node32Panel);
}
//劳资管理树
else if(node_str == "劳资管理"){
//当选中后展开或关闭叶子节点
treePath = new TreePath(node4.getPath());
if(tree.isExpanded(treePath))
tree.collapsePath(treePath);
else
tree.expandPath(treePath);
}
else if(node_str == "劳资分配管理"){
Node41Panel node41Panel = new Node41Panel();
splitPane.setRightComponent(node41Panel);
}
else if(node_str == "劳资历史查询"){
Node42Panel node42Panel = new Node42Panel();
splitPane.setRightComponent(node42Panel);
}
}
/**
* 通过给定的文件名获得图像
*/
Image getImage(String filename)
{
URLClassLoader urlLoader = (URLClassLoader)this.getClass().getClassLoader();
URL url = null;
Image image = null;
url = urlLoader.findResource(filename);
image = Toolkit.getDefaultToolkit().getImage(url);
MediaTracker mediatracker = new MediaTracker(this);
try{
mediatracker.addImage(image, 0);
mediatracker.waitForID(0);
}
catch(InterruptedException _ex){
image = null;
}
if(mediatracker.isErrorID(0)){
image = null;
}
return image;
}
}
主类代码:
package PersonSystem; import javax.swing.UIManager;
import java.awt.*; /**
* 人事管理系统运行主类
*/ public class HrMS
{
boolean packFrame = false;
public HrMS()
{
HrMain frame = new HrMain();
if(packFrame){
frame.pack();
}
else{
frame.validate();
}
//设置运行时窗口的位置
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = frame.getSize();
if(frameSize.height > screenSize.height){
frameSize.height = screenSize.height;
}
if(frameSize.width > screenSize.width){
frameSize.width = screenSize.width;
}
frame.setLocation((screenSize.width - frameSize.width)/2,(screenSize.height - frameSize.height)/2);
frame.setVisible(true);
}
public static void main(String[] args)
{
try{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch(Exception e){
e.printStackTrace();
}
new HrMS();
}
}
Java课程设计——人事管理系统的更多相关文章
- java课程设计 学生管理系统
学生成绩管理系统 可实现功能 学生管理系统 查询学生信息:姓名.学号.性别.出生年月日.(学号自动生成且唯一) 查询学生成绩:每个人都有数学.Java与体育与选修课 查询学生课程 进行公选课选课 教师 ...
- Java课程设计——学生成绩管理系统(201521123003 董美凤)
Java课程设计--学生成绩管理系统(201521123003 董美凤) 1.团队课程设计博客链接 学生成绩管理系统博客链接 2.个人负责模块或任务说明 信息修改 密码修改 部分界面设计 3.自己的代 ...
- Java课程设计—学生成绩管理系统(201521123004-林艺如)
1.团队课程设计博客 团队课程设计博客链接 2.个人负责模块或任务说明 ①.Menu Menu.jsp 在页面中给出提示,用HTML的 MenuTeacher.jsp 利用Menu.jsp进行具体化完 ...
- Java课程设计(2019版)
参考资料 Java课程设计参考资料(2018-12-26更新) Java课程设计常见问题(程序部署.数据库.JSP) 项目开发参考-阿里巴巴Java开发手册(正式版) 更多参考资料请查看QQ群文件中的 ...
- java(课程设计之记事本界面部分代码公布)
代码:涉及记事本的一些界面......!! /* *java课程设计之记事本(coder @Gxjun) * 编写一个记事本程序 * 要求: * 用图形用户界面实现. * 能实现编辑.保存.另存为.查 ...
- java课程设计(计算器)
JAVA课程 设 计 报 告 1206401-18 瞿杰 一.设计时间 2013年6月 24日-----6月28日 二.设计地点 湖南城市学院实验楼计算机506机房 三.设计目的 1.巩固学习VB ...
- Java课程设计——博客作业教学数据分析系统(201521123084 林正晟)
#课程设计--博客作业教学数据分析系统(201521123084 林正晟) 1.团队课程设计博客链接 博客作业教学数据分析系统 2.个人负责模块或任务说明 学生登陆界面的前端实现和与数据库的连接 学生 ...
- Java课程设计——博客作业教学数据分析系统(201521123082 黄华林)
Java课程设计--博客作业教学数据分析系统(201521123082 黄华林) 一.团队课程设计博客链接 博客作业教学数据分析系统(From:网络五条狗) 二.个人负责模块或任务说明 1.网络爬虫 ...
- java课程设计--We Talk(201521123061)
java课程设计--We Talk(201521123061) 团队博客链接:http://www.cnblogs.com/slickghost/ 数据库 一.通过Dao模式建立与数据库的连接 1.数 ...
随机推荐
- Vue的特性
1.数据驱动视图 <div id="app"> <p> {{ message }}<p> </div> var app = new ...
- tp系统常量
ThinkPHP的公共入口文件里定义了系统常量 RUNTIME_PATH----系统运行时目录 LIB_PATH-----------系统核心类库目录 CORE_PATH--------Think类库 ...
- SQL删除重复数据(根据多个字段),pandas的nan存入数据库报错
delete from M_FACTOR_DATA_TEST a where (a.factor_id,a.data_date,a.stock_code) in (select factor_id,d ...
- ruby学习之路(一)
学习ruby最好的方法就是下载源码包,里面带有sample和test,是入门学习的最好实例. 我下载的是2.1.0版本,首先./configure,然后make,sudo make install.从 ...
- 04StringBuffer相关知识、Arrays类、类型互换、正则、Date相关
04StringBuffer相关知识.Arrays类.类型互换.正则.Date相关-2018.7.12 1.StringBuffer A:StringBuffer的构造方法: public Strin ...
- 洛谷——P2094 运输
P2094 运输 题目描述 现在已知N件商品,和搬运它们其中每一件的费用.现在搬家公司老板Mr.sb决定让我们每次任意选取2件商品.然后这2件商品只算一件商品的费用.但是这个商品的搬运费用是将选出的2 ...
- 洛谷 P1280 尼克的任务 (线性DP)
题意概括 线性资源分配的问题,因为空闲的时间大小看后面的时间(反正感觉这个就是个套路)所以从后往前DP. 转移方程 如果当前时刻没有工作 f[i]=f[i+1]+1 如果当前时刻有工作 f[i]=ma ...
- https报错注销源文件内容
open -a pycharm /Users/vivi/Library/Python/3.6/lib/python/site-packages/requests/packages/urllib3/co ...
- LINUX驱动、系统底层
就业模拟测试题-LINUX驱动.系统底层工程师职位 本试卷从考试酷examcoo网站导出,文件格式为mht,请用WORD/WPS打开,并另存为doc/docx格式后再使用 试卷编号:143921试卷录 ...
- PAT 1141 PAT Ranking of Institutions
After each PAT, the PAT Center will announce the ranking of institutions based on their students' pe ...