亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? deptandpersonnelpanel.java

?? 根據企業對人事管理的要求
?? JAVA
字號:
package com.mwq.frame.common;

import java.awt.BorderLayout;
import java.util.Iterator;
import java.util.Set;
import java.util.Vector;

import javax.swing.ImageIcon;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTable;
import javax.swing.JTree;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.table.DefaultTableModel;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeCellRenderer;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreePath;

import com.mwq.hibernate.Dao;
import com.mwq.hibernate.HibernateSessionFactory;
import com.mwq.hibernate.mapping.TbDept;
import com.mwq.hibernate.mapping.TbDutyInfo;
import com.mwq.hibernate.mapping.TbRecord;

public class DeptAndPersonnelPanel extends JPanel {

	private JTable table;

	private Vector<String> tableColumnV;

	private Vector<Vector<String>> tableValueV;

	private DefaultTableModel tableModel;

	private JTree tree;

	private Dao dao = Dao.getInstance();

	public DeptAndPersonnelPanel() {
		super();
		setLayout(new BorderLayout());

		final JSplitPane splitPane = new JSplitPane();
		splitPane.setDividerLocation(140);
		add(splitPane);

		final JScrollPane deptScrollPane = new JScrollPane();
		splitPane.setLeftComponent(deptScrollPane);

		// 初始化左側的部門樹
		DefaultMutableTreeNode root = new DefaultMutableTreeNode("全部職員");
		TbDept company = (TbDept) dao.queryDeptById(1);
		Set depts = company.getTbDepts();
		for (Iterator deptIt = depts.iterator(); deptIt.hasNext();) {
			TbDept dept = (TbDept) deptIt.next();
			DefaultMutableTreeNode deptNode = new DefaultMutableTreeNode(dept
					.getName());// 創建部門樹的二級子節點
			root.add(deptNode);
			Set sonDepts = dept.getTbDepts();
			for (Iterator sonDeptIt = sonDepts.iterator(); sonDeptIt.hasNext();) {
				TbDept sonDept = (TbDept) sonDeptIt.next();
				deptNode.add(new DefaultMutableTreeNode(sonDept.getName()));// 創建部門樹的葉子節點
			}
		}

		DefaultTreeModel treeModel = new DefaultTreeModel(root); // 利用根節點對象創建樹模型對象

		tree = new JTree(treeModel);
		tree.addTreeSelectionListener(new TreeSelectionListener() {
			public void valueChanged(TreeSelectionEvent e) {
				TreePath path = e.getPath(); // 獲得被選中樹節點的路徑
				tableValueV.removeAllElements();// 移除表格中的所有行
				if (path.getPathCount() == 1) {// 選中樹的根節點
					showAllRecord();// 顯示所有檔案
				} else {// 選中樹的子節點
					String deptName = path.getLastPathComponent().toString();// 獲得選中部門的名稱
					TbDept selectDept = (TbDept) dao.queryDeptByName(deptName);// 檢索指定部門對象
					Iterator sonDeptIt = selectDept.getTbDepts().iterator();
					if (sonDeptIt.hasNext()) {// 選中樹的二級節點
						while (sonDeptIt.hasNext()) {
							showRecordInDept((TbDept) sonDeptIt.next());// 顯示選中部門所有子部門的檔案
						}
					} else {// 選中樹的葉子節點
						showRecordInDept(selectDept);// 顯示選中部門的檔案
					}
				}
				tableModel.setDataVector(tableValueV, tableColumnV);
				HibernateSessionFactory.closeSession();
			}
		});

		DefaultTreeCellRenderer render = new DefaultTreeCellRenderer();
		render.setLeafIcon(new ImageIcon());// 設置葉子結點的圖標
		render.setClosedIcon(new ImageIcon());// 設置結點折疊時的圖標
		render.setOpenIcon(new ImageIcon());// 設置結點展開時的圖標
		tree.setCellRenderer(render);
		deptScrollPane.setViewportView(tree);

		final JScrollPane personnalScrollPane = new JScrollPane();
		splitPane.setRightComponent(personnalScrollPane);

		tableColumnV = new Vector<String>();// 創建表格列名向量
		String tableColumns[] = new String[] { "序    號", "檔案編號", "姓    名",
				"性    別", "部    門", "職    務" };
		for (int i = 0; i < tableColumns.length; i++) {// 添加表格列名
			tableColumnV.add(tableColumns[i]);
		}

		tableValueV = new Vector<Vector<String>>();// 創建表格值向量
		showAllRecord();
		HibernateSessionFactory.closeSession();

		tableModel = new DefaultTableModel(tableValueV, tableColumnV);// 創建表格模型對象

		table = new JTable(tableModel);// 創建表格對象
		personnalScrollPane.setViewportView(table);
	}

	private void showAllRecord() {
		Iterator recordIt = dao.queryRecord().iterator();
		int sequenceNumber = 1;
		while (recordIt.hasNext()) {
			TbRecord record = (TbRecord) recordIt.next();
			Vector personnelV = new Vector<String>();
			personnelV.add(sequenceNumber++);
			personnelV.add(record.getRecordNumber());
			personnelV.add(record.getName());
			personnelV.add(record.getSex());
			TbDutyInfo dutyInfo = record.getTbDutyInfo();
			personnelV.add(dutyInfo.getTbDept().getName());
			personnelV.add(dutyInfo.getTbDuty().getName());
			tableValueV.add(personnelV);
		}
	}

	private void showRecordInDept(TbDept dept) {
		Iterator dutyInfoIt = dept.getTbDutyInfos().iterator();
		int sequenceNumber = 1;
		while (dutyInfoIt.hasNext()) {
			TbDutyInfo dutyInfo = (TbDutyInfo) dutyInfoIt.next();
			TbRecord record = dutyInfo.getTbRecord();
			Vector personnelV = new Vector<String>();
			personnelV.add(sequenceNumber++);
			personnelV.add(record.getRecordNumber());
			personnelV.add(record.getName());
			personnelV.add(record.getSex());
			personnelV.add(dutyInfo.getTbDept().getName());
			personnelV.add(dutyInfo.getTbDuty().getName());
			tableValueV.add(personnelV);
		}
	}

	public JTable getTable() {
		return table;
	}

	public void setTable(JTable table) {
		this.table = table;
	}

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产午夜亚洲精品午夜鲁丝片| 日韩美女视频一区二区在线观看| 国产乱码一区二区三区| 欧美私人免费视频| 亚洲国产wwwccc36天堂| 91精品国产91久久久久久最新毛片| 国产亚洲女人久久久久毛片| 蜜桃av一区二区三区| 日韩欧美国产三级| 国产一区二区三区黄视频| 国产欧美一区二区在线观看| 国产成人夜色高潮福利影视| 亚洲精品亚洲人成人网在线播放| 精品一区二区在线视频| 欧美韩国日本一区| 欧美自拍偷拍午夜视频| 免费一级片91| **性色生活片久久毛片| 亚洲精品一区二区三区四区高清| 亚洲精品中文在线观看| 日韩欧美一区在线| 成人一区二区三区视频在线观看| 日韩欧美高清一区| 国产精品一区二区不卡| 亚洲综合色婷婷| 欧美精品一区二区三区四区| 99re66热这里只有精品3直播 | 国产精品免费视频观看| 色婷婷激情综合| 黄页视频在线91| 亚洲免费三区一区二区| 欧美成人官网二区| 色欧美片视频在线观看| 国内国产精品久久| 亚洲天堂免费在线观看视频| 日韩一区二区三免费高清| 成人a免费在线看| 秋霞电影一区二区| 一区二区三区欧美视频| 精品不卡在线视频| 欧美色爱综合网| 白白色亚洲国产精品| 美女久久久精品| 亚洲香肠在线观看| 国产精品入口麻豆原神| 日韩网站在线看片你懂的| 在线精品国精品国产尤物884a| 最新成人av在线| 久久综合色8888| 欧美一区二区三区四区高清 | 在线播放一区二区三区| 国产福利91精品一区二区三区| 久久久不卡网国产精品二区| 在线视频国内一区二区| 国产精品538一区二区在线| 天天综合网 天天综合色| 亚洲精品视频观看| 亚洲欧洲国产专区| 国产精品区一区二区三区| 欧美精品一区二区三| 91麻豆精品国产91久久久久久久久| 美女脱光内衣内裤视频久久网站| 日韩亚洲欧美一区| 777亚洲妇女| 欧美肥妇bbw| 欧美色图天堂网| 欧美亚洲综合在线| 在线观看日韩精品| 色av一区二区| 在线观看视频欧美| 欧美午夜电影网| 欧美三级韩国三级日本三斤| 欧美日韩在线播放三区四区| 欧美中文字幕一区二区三区| 91视频一区二区三区| 91小视频在线观看| 色婷婷综合五月| 欧美日韩中字一区| 欧美日韩国产综合一区二区 | av成人免费在线观看| 国产成人亚洲精品青草天美| 青青草97国产精品免费观看| 美女在线视频一区| 国内精品久久久久影院色| 国产一区二区三区黄视频 | 中文字幕精品一区| 国产精品你懂的| 亚洲国产电影在线观看| 中文字幕在线不卡视频| 亚洲午夜精品一区二区三区他趣| 久久久久国产精品麻豆| 国产精品午夜电影| 亚洲一区二区三区四区在线观看 | 正在播放一区二区| 日韩美女主播在线视频一区二区三区| 成人午夜激情视频| 99久久免费视频.com| 92精品国产成人观看免费| 欧美性三三影院| 日韩三级视频中文字幕| 日本一区二区免费在线| 有码一区二区三区| 男男gaygay亚洲| 国产成人av电影在线| 91国偷自产一区二区使用方法| 91免费版pro下载短视频| 欧美日韩高清一区二区| 欧美成va人片在线观看| 精品久久久久久无| 国产精品久久久一本精品| 亚洲一区二区美女| 国产在线精品一区二区夜色 | 麻豆高清免费国产一区| 丁香亚洲综合激情啪啪综合| 色婷婷久久一区二区三区麻豆| 国产成人激情av| 欧美视频你懂的| 久久在线免费观看| 亚洲综合激情小说| 国产福利视频一区二区三区| 一道本成人在线| 欧美va日韩va| 亚洲成人av免费| 成人黄色电影在线| 欧美一区二区美女| 一区二区三区国产| 国产乱码精品一区二区三区av| 精品亚洲aⅴ乱码一区二区三区| 丝袜亚洲另类丝袜在线| 成人手机电影网| 欧美一卡二卡三卡四卡| 亚洲另类一区二区| 成人免费观看视频| 久久综合资源网| 日精品一区二区三区| 91丨九色丨国产丨porny| 久久毛片高清国产| 免费观看久久久4p| 欧美疯狂性受xxxxx喷水图片| 91精品国产入口在线| 亚洲美女在线一区| av亚洲产国偷v产偷v自拍| 欧美电视剧免费观看| 五月综合激情网| av在线播放不卡| 欧美国产激情二区三区| 精一区二区三区| 日韩一级视频免费观看在线| 亚洲成人精品在线观看| 91国产成人在线| 17c精品麻豆一区二区免费| 国产精品18久久久久| 欧美精品一区二区在线播放 | 精品乱码亚洲一区二区不卡| 亚洲第一久久影院| 在线视频国内一区二区| 夜夜爽夜夜爽精品视频| 91国产精品成人| 亚洲丝袜美腿综合| 波多野结衣中文字幕一区二区三区| 99久久99久久精品免费看蜜桃| a级高清视频欧美日韩| 亚洲国产激情av| 国产不卡在线视频| 国产精品午夜电影| 国产不卡视频在线观看| 国产农村妇女毛片精品久久麻豆| 亚洲午夜私人影院| 欧美丝袜丝交足nylons图片| 一区二区三区四区不卡在线| 色综合久久综合| 亚洲午夜久久久久久久久电影网 | 国产suv精品一区二区三区| 久久亚洲精品小早川怜子| 美女视频黄 久久| 久久影院午夜论| 国产成人精品免费一区二区| 亚洲欧洲精品天堂一级| 日本韩国欧美三级| 亚洲成人免费视| 精品国产123| 成人av免费网站| 一区二区三区欧美视频| 777亚洲妇女| 国产精品一线二线三线| 中文字幕五月欧美| 欧美色图12p| 国产乱码精品1区2区3区| 中文字幕在线不卡一区 | 国产精品青草综合久久久久99| 亚洲mv大片欧洲mv大片精品| 欧美日韩一区二区三区高清 | 精品毛片乱码1区2区3区| 国产老肥熟一区二区三区| 日本一区二区视频在线观看| av影院午夜一区| 免费观看久久久4p| 中文字幕制服丝袜成人av| 欧美亚洲国产一区二区三区| 狠狠狠色丁香婷婷综合久久五月|