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.数 ...
随机推荐
- quartz在集群环境下的最终解决方案
在集群环境下,大家会碰到一直困扰的问题,即多个 APP 下如何用 quartz 协调处理自动化 JOB . 大家想象一下,现在有 A , B , C3 台机器同时作为集群服务器对外统一提供 SERVI ...
- Xamarin View获取属性的绑定信息
public static Binding GetBinding( BindableObject self, BindableProperty property) { var methodInfo = ...
- ThinkPHP---插件highcharts
[一]概论 (1)介绍 基于jquery开发的国外图标插件,统计图,折线图,饼状图等常常用到. 国内也有一款类似插件echarts,由百度开发. (2)官网:www.highcharts.com ...
- Day 14B 网络应用开发
网络应用开发 发送电子邮件 在即时通信软件如此发达的今天,电子邮件仍然是互联网上使用最为广泛的应用之一,公司向应聘者发出录用通知.网站向用户发送一个激活账号的链接.银行向客户推广它们的理财产品等几乎都 ...
- 关于mybatis返回值resultType为空的问题
假设数据库中一个user表 此时只有id为1的数据,当我们查询id为2的年龄时的时候返回值为null 但是在mybatis中预定义UserMapper.xml中 <select id=" ...
- JAVA基础——集合浅析
Java 集合 数组是一种很常见的数据结构,开始接触编程的时候多数程序都和数组相关.刚开始接触Java时也是一直使用数组写一些程序,后来越来越觉得数组这东西没法满足需求了,这时一位“前辈” ...
- Object.prototype 原型和原型链
Object.prototype 原型和原型链 原型 Javascript中所有的对象都是Object的实例,并继承Object.prototype的属性和方法,有些属性是隐藏的.换句话说,在对象创建 ...
- ubuntu安装nvidia驱动以及cuda教程
最近尝试在ubuntu中安装nvidia的显卡驱动以及cuda.花了近三天时间,真的如网上所说错误百出,期间甚至重装了一次ubuntu系统,搞到怀疑人生,整个都是泪- -.最终经过百般“磨难”总算安装 ...
- css--小白入门篇5
一.行高和字号 1.1 行高 CSS中,所有的行,都有行高.盒模型的padding,绝对不是直接作用在文字上的,而是作用在“行”上的. 1 line-height: 40px; 文字,是在自己的行里面 ...
- 洛谷——P1176 路径计数2
P1176 路径计数2 题目描述 一个N \times NN×N的网格,你一开始在(1,1)(1,1),即左上角.每次只能移动到下方相邻的格子或者右方相邻的格子,问到达(N,N)(N,N),即右下角有 ...