主界面代码:

 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课程设计——人事管理系统的更多相关文章

  1. java课程设计 学生管理系统

    学生成绩管理系统 可实现功能 学生管理系统 查询学生信息:姓名.学号.性别.出生年月日.(学号自动生成且唯一) 查询学生成绩:每个人都有数学.Java与体育与选修课 查询学生课程 进行公选课选课 教师 ...

  2. Java课程设计——学生成绩管理系统(201521123003 董美凤)

    Java课程设计--学生成绩管理系统(201521123003 董美凤) 1.团队课程设计博客链接 学生成绩管理系统博客链接 2.个人负责模块或任务说明 信息修改 密码修改 部分界面设计 3.自己的代 ...

  3. Java课程设计—学生成绩管理系统(201521123004-林艺如)

    1.团队课程设计博客 团队课程设计博客链接 2.个人负责模块或任务说明 ①.Menu Menu.jsp 在页面中给出提示,用HTML的 MenuTeacher.jsp 利用Menu.jsp进行具体化完 ...

  4. Java课程设计(2019版)

    参考资料 Java课程设计参考资料(2018-12-26更新) Java课程设计常见问题(程序部署.数据库.JSP) 项目开发参考-阿里巴巴Java开发手册(正式版) 更多参考资料请查看QQ群文件中的 ...

  5. java(课程设计之记事本界面部分代码公布)

    代码:涉及记事本的一些界面......!! /* *java课程设计之记事本(coder @Gxjun) * 编写一个记事本程序 * 要求: * 用图形用户界面实现. * 能实现编辑.保存.另存为.查 ...

  6. java课程设计(计算器)

    JAVA课程 设 计 报 告 1206401-18   瞿杰 一.设计时间 2013年6月 24日-----6月28日 二.设计地点 湖南城市学院实验楼计算机506机房 三.设计目的 1.巩固学习VB ...

  7. Java课程设计——博客作业教学数据分析系统(201521123084 林正晟)

    #课程设计--博客作业教学数据分析系统(201521123084 林正晟) 1.团队课程设计博客链接 博客作业教学数据分析系统 2.个人负责模块或任务说明 学生登陆界面的前端实现和与数据库的连接 学生 ...

  8. Java课程设计——博客作业教学数据分析系统(201521123082 黄华林)

    Java课程设计--博客作业教学数据分析系统(201521123082 黄华林) 一.团队课程设计博客链接 博客作业教学数据分析系统(From:网络五条狗) 二.个人负责模块或任务说明 1.网络爬虫 ...

  9. java课程设计--We Talk(201521123061)

    java课程设计--We Talk(201521123061) 团队博客链接:http://www.cnblogs.com/slickghost/ 数据库 一.通过Dao模式建立与数据库的连接 1.数 ...

随机推荐

  1. 如何快速排查解决Android中的内存泄露问题

    概述 内存泄露是Android开发中比较常见的问题,一旦发生会导致大量内存空间得不到释放,可用内存急剧减少,导致运行卡顿,部分功能不可用甚至引发应用crash.对于复杂度比较高.多人协同开发的项目来讲 ...

  2. zencart,分类,所有,显示

    改的文件:includes/classes/category_tree.php,最简单的修改 if (!isset($first_element)) {        $first_element = ...

  3. JAVA 学习笔记 - 基础语法1

    1. 类的定义 public class  与  class的区别 一个java文件只有一个public class, 而且类名必须与文件名一致. 一个java文件可以有多个class定义,javac ...

  4. 【sqli-labs】【jsp/tomcat】 less29 less30 less31 less32 (GET型利用HTTP参数污染的注入)

    sqli-labs带了几个Java版本的web注入,在tomcat-files.zip里 以Less29为例,查看源码,可以看出请求最后还是提交给了php应用,难怪less29文件夹下有一个没有任何防 ...

  5. java虚拟机(九)--常用jvm参数

    1.-Xms20M: 表示设置JVM启动内存的最小值为20M,必须以M为单位 2.-Xmx20M: 表示设置JVM启动内存的最大值为20M,必须以M为单位.将-Xmx和-Xms设置为一样可以避免JVM ...

  6. jenkins自动部署测试环境

    构建脚本如下: echo "当前目录":$(pwd)echo "当前时间":$(date +%Y-%m-%d_%H:%M)find ./ -type f -na ...

  7. WebService接口数据传输加密

    1.加密流程 客服端--->加密文本------>服务端接收到加密文本,通过固定加密密文进行解密,然后做相应处理------------>返回结果 2.固定密文创建 密文创建有很多种 ...

  8. UVA-12333 Revenge of Fibonacci(竖式加法模拟 & 字典树)

    题目: 给出一个斐波那契数字的前缀,问第一个有这个前缀的数字在斐波那契数列中是第几个. 思路: 紫书提示:本题有一定效率要求.如果高精度代码比较慢,可能会超时. 利用滚动数组和竖式加法来模拟斐波那契相 ...

  9. [luogu3067 USACO12OPEN] 平衡的奶牛群

    传送门 Solution 折半搜索模板题 考虑枚举每个点在左集合和右集合或者不在集合中,然后排序合并即可 Code //By Menteur_Hxy #include <cmath> #i ...

  10. Linux文件/目录,权限相关

    查看权限 命令 # ls -l filename 结果 -rw-r--r-- l root root 27 11-10 14:50 filename 解析: -rw-r--r-- --共10位 第1位 ...