日期:2014-05-20 浏览次数:20816 次
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 buaa; //建立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("人事管理系统"); //程序图标 buaa = getImage("buaa.jpg"); this.setIconImage(buaa); //设置程序图标 //设置自定义大小 this.setResizable(false); try { Init(); } catch(Exception e) { e.printStackTrace(); } } /** * 程序初始化函数 */ private void Init() throws Exception { //Container contentPane = this.getContentPane(); //contentPane.setLayout(new BorderLayout()); //添加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 nod42Panel = new Node42Panel(); splitPane.setRightComponent(nod42Panel); } } /** * 通过给定的文件名获得图像 */ 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; } }