JAVA制作的人事管理系统

package pdsu.hrms.view;

import java.awt.Dimension;
import java.awt.Font;
import java.awt.Image;
import java.awt.Toolkit;
import java.net.URL;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTree;
import javax.swing.UIManager;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreePath;


public class HrMain extends JFrame implements TreeSelectionListener{
    
    public static JSplitPane splitPane;
    private JTree tree;//树组件
    private DefaultMutableTreeNode root;//树的根结点
    
    //定义欢迎面板
    private JPanel pWelcome;
    
    public HrMain() {
        //关闭时退出程序
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(900,600);//设置大小
        setLocationRelativeTo(null);//设置位置(相对于屏幕居中)
        setResizable(false);//不能调大小
        setTitle("人事管理系统");//设置标题
        //设置窗口的图标
        
        //为什么要将图标放置在src下?因为程序内部的图片放在src下时,生成可执行文件时,图片就包含在可执行文件里
        //若是项目运行所需要的加载的像菜品的图片时,则需要在和src同级下创建一个文件夹用于专门保存相应图片,生成可执行文件时,需要将相应的图片文件夹也放置出来
        
        //获取指定图片的URL路径
        //(1)找到文件位置
        URL url=getClass().getClassLoader().getResource("url.png");
        //通过Toolkit的getImage(url)方法获取指定url下的图片并保存在一个Image下
        //(2)加载图片到内存
        Image image=Toolkit.getDefaultToolkit().getImage(url);
        //设置当前窗口的图标
        //(3)把图片设置为窗口图标
        setIconImage(image);
        
        init();//调用初始化方法
        
        setVisible(true);//窗口可见性
    }
    
    public void init() {
        //初始化分隔面板(设置为水平分隔)
        //分隔面板将窗口划分为左右两部分,所以使用水平分隔
        splitPane=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
        //设置分隔条位置(默认的分隔条左边的位置太小,需重新设置)
        splitPane.setDividerLocation(150);
        //设置分隔条宽度(默认的分隔条宽度太宽,需重新设置)
        splitPane.setDividerSize(2);
        //设置分隔条变化的连续性(当内容过多时,需要调整分隔条的位置,这时就需要观察分隔条的变化,以便于调整到合理的位置)
        splitPane.setContinuousLayout(true);
        //添加临时组件,测试分隔面板
        splitPane.setLeftComponent(new JButton("Left"));
        splitPane.setRightComponent(new JButton("Right"));
        
        //初始化树菜单
        root=new DefaultMutableTreeNode("人事管理系统");
        
        //创建一级结点对象
        DefaultMutableTreeNode node1=new DefaultMutableTreeNode("基本信息管理");
        DefaultMutableTreeNode node2=new DefaultMutableTreeNode("人员调动管理");
        DefaultMutableTreeNode node3=new DefaultMutableTreeNode("人员考核管理");
        DefaultMutableTreeNode node4=new DefaultMutableTreeNode("劳资管理");
        
        //添加基本信息管理的子结点
        node1.add(new DefaultMutableTreeNode("添加人员信息"));
        node1.add(new DefaultMutableTreeNode("修改人员信息"));
        node1.add(new DefaultMutableTreeNode("删除人员信息"));
        node1.add(new DefaultMutableTreeNode("查询人员信息"));
        node1.add(new DefaultMutableTreeNode("部门管理"));
        //添加人员调动管理的子结点
        node2.add(new DefaultMutableTreeNode("人员调动"));
        node2.add(new DefaultMutableTreeNode("调动历史查询"));
        //添加人员考核管理的子结点
        node3.add(new DefaultMutableTreeNode("人员考核"));
        node3.add(new DefaultMutableTreeNode("考核历史查询"));
        //添加劳资管理的子结点
        node4.add(new DefaultMutableTreeNode("劳资分配管理"));
        node4.add(new DefaultMutableTreeNode("劳资历史查询"));
        
        //往根节点下添加一级结点
        root.add(node1);
        root.add(node2);
        root.add(node3);
        root.add(node4);
        
        //显示菜单
        tree=new JTree(root);
        tree.addTreeSelectionListener(this);
        //用带有滚动条的tree覆盖之前左边的按钮
//        splitPane.setLeftComponent(new JScrollPane(tree));
        //重新设置左部的面板让其不显示的那么满,上下部留空隙
        JPanel pleft=new JPanel();
        JScrollPane js=new JScrollPane(tree);
        //设置面板的大小
        js.setPreferredSize(new Dimension(140, 555));
        pleft.add(js);
        //设置分隔面板的左部控件为pleft面板
        splitPane.setLeftComponent(pleft);
        
        //定义右侧欢迎界面
        pWelcome=new JPanel();
        JLabel lbWelcome=new JLabel("欢迎使用人事管理系统");
        //Font.PLAIN代表字体没有特效,字体大小16
        lbWelcome.setFont(new Font("宋体", Font.PLAIN, 16));
        pWelcome.add(lbWelcome);
        //设置分隔面板的右部控件为pWelcome面板
        splitPane.setRightComponent(pWelcome);
        
        //添加分隔面板到整个JFrame界面
        add(splitPane);
    }
    
    

    public void valueChanged(TreeSelectionEvent e) {
//        System.out.println(e.getPath());
        //获取路径下的最后一个路径,并将它转换为字符串类型(原本的返回值为Object)
        String menuStr=e.getPath().getLastPathComponent().toString();
//        System.out.println(menuStr);
        switch(menuStr){
        //点根节点回到欢迎界面
        case"人事管理系统":
            splitPane.setRightComponent(pWelcome);
            break;
        //若case中没有书写break语句,则switch的逻辑会让其按照顺序继续执行下去,直到跳出
        //只要满足其中一个条件都执行下部的代码
        case"基本信息管理":;
        case"人员调动管理":;
        case"人员考核管理":;
        case"劳资管理":;
            //获取当前项的路径
            TreePath path=e.getPath();
            //判断当前项是展开状态还是折叠状态
            if(tree.isExpanded(path)) {
                //如果当前项是展开状态,则改为折叠状态
                tree.collapsePath(path);
            }else {
                //如果当前项是折叠状态,则改为展开状态
                tree.expandPath(path);
            }
            break;
        
        case"添加人员信息":
//            System.out.println("右侧应显示添加人员界面");
            splitPane.setRightComponent(new Panel11());
            break;
        case"修改人员信息":
//            System.out.println("右侧应显示修改人员界面");
            splitPane.setRightComponent(new Panel12());
            break;
        case"删除人员信息":
//            System.out.println("右侧应显示删除人员界面");
            splitPane.setRightComponent(new Panel13());
            break;
        case"查询人员信息":
//            System.out.println("右侧应显示查询人员界面");
            splitPane.setRightComponent(new Panel14());
            break;
        case"部门管理":
//            System.out.println("右侧应显示部门管理界面");
            splitPane.setRightComponent(new Panel15());
            break;
        
        case"人员调动":
//            System.out.println("右侧应显示人员调动界面");
            splitPane.setRightComponent(new Panel21());
            break;
        case"调动历史查询":
//            System.out.println("右侧应显示调动历史查询界面");
            splitPane.setRightComponent(new Panel22());
            break;
        
        case"人员考核":
//            System.out.println("右侧应显示人员考核界面");
            splitPane.setRightComponent(new Panel31());
            break;
        case"考核历史查询":
//            System.out.println("右侧应显示考核历史查询界面");
            splitPane.setRightComponent(new Panel32());
            break;
        
        case"劳资分配管理":
//            System.out.println("右侧应显示劳资分配管理界面");
            splitPane.setRightComponent(new Panel41());
            break;
        case"劳资历史查询":
//            System.out.println("右侧应显示劳资历史查询界面");
            splitPane.setRightComponent(new Panel42());
            break;
        }
    }
    public static void main(String[] args) {
        //修改程序外观
        try {
            //跨平台的外观
//            UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
            //获取系统的外观来创建该界面的外观
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        }  catch (Exception e) {
            e.printStackTrace();
        }
        new HrMain();
    }

}

***********************************************************************************************************************************************

package pdsu.hrms.view;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.JobAttributes;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.net.PortUnreachableException;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.border.LineBorder;

import pdsu.hrms.dao.DeptDao;
import pdsu.hrms.dao.PersonDao;
import pdsu.hrms.model.Dept;
import pdsu.hrms.model.Person;

public class Panel11 extends JPanel implements ActionListener,ItemListener{
    //JPanel pTitle;  //标题区域面板
    JPanel pContent;  //添加人员信息内容区域面板
    JScrollPane js;   //添加人员信息所在的滚动面板
    
    JTextField tfPersonId;  //人员编号
    JTextField tfName;  //姓名
    JTextField tfSex;   //性别
    JTextField tfBirth;  //出生日期
    JTextField tfNat;    //民族
    JTextField tfAddress; //地址
    JTextField tfOther;   //其他说明
    //String DeptID = null;
    JComboBox<String> comboDept;  //部门信息
    
    JButton btnAdd;  //增加
    JButton btnClear; //清空
    long DeptID=0;
    public Panel11() {
        //设置为网格包布局
        GridBagLayout gridBag = new GridBagLayout();
        GridBagConstraints cons = null;
        setLayout(gridBag);
        
        //添加标题
        JLabel lbTitle = new JLabel("添加人员信息");
        lbTitle.setFont(new Font("宋体",0,16));
        cons = new GridBagConstraints();
        cons.gridx = 0;
        cons.gridy = 0;
        gridBag.setConstraints(lbTitle, cons);
        add(lbTitle);
        
        
        //添加内容区域
        initContent();  //初始化添加人员信息区域
        js = new JScrollPane(pContent);
        js.setPreferredSize(new Dimension(600, 500));
        cons = new GridBagConstraints();
        cons.gridx = 0;
        cons.gridy = 1;
        gridBag.setConstraints(js, cons);
        add(js);
    }
    public void initContent() {
        //创建内容面板并设置布局方式
        pContent = new JPanel();
//        pContent.setBorder(new LineBorder(Color.red));
        GridBagLayout layout = new GridBagLayout();
        pContent.setLayout(layout);
        
        GridBagConstraints cons = null;
        
        //添加第1行组件(人员编号标签、人员编号文本框、人员姓名标签、人员姓名文本框)
        //人员编号标签
        JLabel lbPersonId = new JLabel("人员编号");
        //lbPersonId.setFont(new Font("宋体",0,12));
        cons = new GridBagConstraints();
        cons.gridx = 0;
        cons.gridy = 0;
        cons.insets = new Insets(10,10,10,1);//上左下右间距
        layout.setConstraints(lbPersonId, cons);
        pContent.add(lbPersonId);
        //人员编号文本框
        tfPersonId = new JTextField(15);
        cons = new GridBagConstraints();
        cons.gridx = 1;
        cons.gridy = 0;
        cons.insets = new Insets(10,1,10,15);
        layout.setConstraints(tfPersonId, cons);
        tfPersonId.setText(String.valueOf(PersonDao.getNextId()));
        tfPersonId.setEditable(false);
        pContent.add(tfPersonId);
        //人员姓名标签
        JLabel lbName = new JLabel("人员姓名");
        cons = new GridBagConstraints();
        cons.gridx = 2;
        cons.gridy = 0;
        cons.insets = new Insets(10,15,10,1);
        layout.setConstraints(lbName, cons);
        pContent.add(lbName);
        //人员姓名文本框
        tfName = new JTextField(15);
        cons = new GridBagConstraints();
        cons.gridx = 3;
        cons.gridy = 0;
        cons.insets = new Insets(10,1,10,10);
        layout.setConstraints(tfName, cons);
        pContent.add(tfName);
        
        //添加第2行组件(性别标签、性别文本框、出生年月标签、出生年月文本框)
        //性别标签
        JLabel lbSex = new JLabel("性别");
        cons = new GridBagConstraints();
        cons.gridx = 0;
        cons.gridy = 1;
        cons.insets = new Insets(10,10,10,1);
        layout.setConstraints(lbSex, cons);
        pContent.add(lbSex);
        //性别文本框
        tfSex = new JTextField(15);
        cons = new GridBagConstraints();
        cons.gridx = 1;
        cons.gridy = 1;
        cons.insets = new Insets(10,1,10,15);
        //cons.gridwidth  = 3;
        //cons.anchor = GridBagConstraints.WEST;
        layout.setConstraints(tfSex, cons);
        pContent.add(tfSex);
        //出生年月标签
        JLabel lbBirth = new JLabel("出生年月");
        cons = new GridBagConstraints();
        cons.gridx = 2;
        cons.gridy = 1;
        cons.insets = new Insets(10,15,10,1);
        layout.setConstraints(lbBirth, cons);
        pContent.add(lbBirth);
        //出生年月文本框
        tfBirth = new JTextField(15);
        cons = new GridBagConstraints();
        cons.gridx = 3;
        cons.gridy = 1;
        cons.insets = new Insets(10,1,10,10);
        layout.setConstraints(tfBirth, cons);
        pContent.add(tfBirth);
        
        //添加第3行组件(民族标签、民族文本框、地址标签、地址文本框)
        //民族标签
        JLabel lbNat = new JLabel("民族");
        cons = new GridBagConstraints();
        cons.gridx = 0;
        cons.gridy = 2;
        cons.insets = new Insets(10,10,10,1);
        layout.setConstraints(lbNat, cons);
        pContent.add(lbNat);
        //民族文本框
        tfNat = new JTextField(15);
        cons = new GridBagConstraints();
        cons.gridx = 1;
        cons.gridy = 2;
        cons.insets = new Insets(10,1,10,15);
        layout.setConstraints(tfNat, cons);
        pContent.add(tfNat);
        //地址标签
        JLabel lbAddress = new JLabel("地址");
        cons = new GridBagConstraints();
        cons.gridx = 2;
        cons.gridy = 2;
        cons.insets = new Insets(10,15,10,1);
        layout.setConstraints(lbAddress, cons);
        pContent.add(lbAddress);
        //地址文本框
        tfAddress = new JTextField(15);
        cons = new GridBagConstraints();
        cons.gridx = 3;
        cons.gridy = 2;
        cons.insets = new Insets(10,1,10,10);
        layout.setConstraints(tfAddress, cons);
        pContent.add(tfAddress);
        
        //添加第4行组件(部门标签、部门下拉列表、其他标签、其他文本框)
        //部门标签
        JLabel lbDept = new JLabel("部门");
        cons = new GridBagConstraints();
        cons.gridx = 0;
        cons.gridy = 3;
        cons.insets = new Insets(10,10,10,1);
        layout.setConstraints(lbDept, cons);
        pContent.add(lbDept);
        //部门下拉列表
        /*String[] data = DeptDao.getDeptsForSelect();
        for (int i =0;i<=data.length;i++)
        {
            comboDept.addItem(data[i]);
        }*/
        String[] allType = DeptDao.getDeptsForSelect();
        comboDept = new JComboBox<String>(allType);
        cons = new GridBagConstraints();
        cons.gridx = 1;
        cons.gridy = 3;
        cons.insets = new Insets(10,1,10,15);
        layout.setConstraints(comboDept, cons);
        pContent.add(comboDept);
        //其他标签
        JLabel lbOther = new JLabel("其他");
        cons = new GridBagConstraints();
        cons.gridx = 2;
        cons.gridy = 3;
        cons.insets = new Insets(10,15,10,1);
        layout.setConstraints(lbOther, cons);
        pContent.add(lbOther);
        //其他文本框
        tfOther = new JTextField(15);
        cons = new GridBagConstraints();
        cons.gridx = 3;
        cons.gridy = 3;
        cons.insets = new Insets(10,1,10,10);
        layout.setConstraints(tfOther, cons);
        pContent.add(tfOther);
        
        //添加第5行组件(增加按钮、清空按钮)
        //增加
        btnAdd = new JButton("增加");
        cons = new GridBagConstraints();
        cons.gridx = 0;
        cons.gridy = 4;
        cons.gridwidth = 2;
        cons.insets = new Insets(10,10,10,10);
        layout.setConstraints(btnAdd, cons);
        pContent.add(btnAdd);
        //清空
        btnClear = new JButton("清空");
        cons = new GridBagConstraints();
        cons.gridx = 2;
        cons.gridy = 4;
        cons.gridwidth = 2;
        cons.insets = new Insets(10,10,10,10);
        layout.setConstraints(btnClear, cons);
        pContent.add(btnClear);
        
        btnAdd.addActionListener(this);
        btnClear.addActionListener(this);
        comboDept.addItemListener(this);
    }
    @Override
    public void itemStateChanged(ItemEvent e) {
        // TODO Auto-generated method stub
        if (e.getStateChange() == 1) {
            Object tempStr = e.getItem();
            int i = ((String) tempStr).indexOf("-");
            DeptID = Long.parseLong(((String) tempStr).substring(0, i));
    } 
}
    @Override
    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
        if (e.getSource() == btnClear)
        {
            tfSex.setText(null);
            tfAddress.setText(null);
            tfBirth.setText(null);
            tfName.setText(null);
            tfNat.setText(null);
            tfOther.setText(null);
            tfPersonId.setText(null);
        }
        if (e.getSource() == btnAdd) {
            String d = tfName.getText();
            String a = tfSex.getText();
            String b = tfAddress.getText();
            String c = tfBirth.getText();
            String g = tfNat.getText();
            String f = tfOther.getText();
            if(a.equals(null)||b.equals(null)||c.equals(null)||d.equals(null)||g.equals(null))
            {
                JOptionPane.showMessageDialog(null, "请输入信息");
            }else {
                
                if (DeptID != 0)
                {
                     Person p = new Person();
                    p.setAddress(b);
                    p.setSex(a);
                    p.setBirth(c);
                    p.setName(d);
                    p.setNat(g);
                    p.setOther(f);
                    p.setAssess("未考核");
                    Long m = Long.valueOf(tfPersonId.getText());    
                    p.setDeptid(DeptID);
                    p.setPersonid(m);
                    PersonDao.add(p);
                }else 
                {
                    JOptionPane.showMessageDialog(null, "请为该人员选择部门");
                }
            }
        }
    }
    
    
}
***********************************************************************************************************************************************

package pdsu.hrms.view;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.DefaultListSelectionModel;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;

import pdsu.hrms.dao.HistoryDao;

public class Panel42 extends JPanel{
    //上部
    private JScrollPane js;
    private JTable table;
    
    String[][] colValue=new String[10][6];
    public Panel42() {
        GridBagLayout gridBag = new GridBagLayout();
        GridBagConstraints cons = null;
        setLayout(gridBag);
        //添加标题
        JLabel lbTitle = new JLabel("劳资历史查询");
        lbTitle.setFont(new Font("宋体",0,16));
        cons = new GridBagConstraints();
        cons.gridx = 0;
        cons.gridy = 0;
        gridBag.setConstraints(lbTitle, cons);
        add(lbTitle);
                
        
        //创建一个10行3列的列表
        //table=new JTable(10,3);
        //列标题
        String[] colTitle=new String[]{"流水号","人员姓名","原薪水","新薪水","变更次数","变更日期"};
        //创建一个10行3列的列表
//                String[][] colValue=new String[10][3];
        //模拟数据
        /*
        colValue[0][0]="1";
        colValue[0][1]="张三";
        colValue[0][2]="0";
        colValue[0][3]="4000";
        colValue[0][4]="1";
        colValue[0][5]="2010-10-01";
        colValue[1][0]="2";
        colValue[1][1]="李四";
        colValue[1][2]="4000";
        colValue[1][3]="3000";
        colValue[1][4]="1";
        colValue[1][5]="2010-10-25";
        */
        String abc = "劳资分配";
        colValue = HistoryDao.getAllByType(abc);
        table=new JTable(colValue, colTitle);
        
        //设置表格的默认大小
        table.setPreferredScrollableViewportSize(new Dimension(430, 390));
        //设置不能同时选中多个行
        table.setSelectionMode(DefaultListSelectionModel.SINGLE_SELECTION);
        js=new JScrollPane(table);
        js.setPreferredSize(new Dimension(430, 390));
        cons = new GridBagConstraints();
        cons.gridx = 0;
        cons.gridy = 1;
        gridBag.setConstraints(js, cons);
        add(js);
        
    }
}
*************************************************************************************************************************************************

package pdsu.hrms.view;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.DefaultListSelectionModel;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;

import pdsu.hrms.dao.DeptDao;
import pdsu.hrms.dao.PersonDao;
import pdsu.hrms.model.Person;

public class Panel13 extends JPanel implements ActionListener{
    //定义所需的组件
    private JPanel pTop;
    private JPanel pCenter;
    private JPanel pBottom;
    //上部
    private JScrollPane js;
    private JTable table;
    //中部
    private JLabel lbDeptId;
    private JLabel lbName;
    private JLabel lbDeptName;
    
    private JTextField tfDeptId;
    private JTextField tfName;
    private JTextField tfDeptName;
    
    //底部
    private JButton btnDelete;
    String[][] colValue=new String[10][6];
    String[] colTitle=new String[]{"编号","姓名","出生年月","民族","地址","部门"};

    public Panel13() {
        //设置为边界布局
        setLayout(new BorderLayout());
        
        initTop();
        initCenter();
        initBottom();
    }
    //初始化上部面板
    public void initTop() {
        pTop=new JPanel();
        GridBagLayout gridBag = new GridBagLayout();
        GridBagConstraints cons = null;
        pTop.setLayout(gridBag);
        
        //添加标题
        JLabel lbTitle = new JLabel("人员信息删除");
        lbTitle.setFont(new Font("宋体",0,16));
        cons = new GridBagConstraints();
        cons.gridx = 0;
        cons.gridy = 0;
        gridBag.setConstraints(lbTitle, cons);
        pTop.add(lbTitle);
                
        
        //创建一个10行3列的列表
        //table=new JTable(10,3);
        //列标题
        //创建一个10行3列的列表
//        String[][] colValue=new String[10][3];
        //模拟数据
        /*
        colValue[0][0]="1";
        colValue[0][1]="张三";
        colValue[0][2]="1980-03-19";
        colValue[0][3]="汉族";
        colValue[0][4]="北京";
        colValue[0][5]="办公室-综合科";
        colValue[1][0]="2";
        colValue[1][1]="李四";
        colValue[1][2]="1981-09-17";
        colValue[1][3]="汉族";
        colValue[1][4]="北京";
        colValue[1][5]="人事处-人事科";
        */
        colValue = PersonDao.getpersonsfortable();
        table=new JTable(colValue, colTitle);
        
        //设置表格的默认大小
        table.setPreferredScrollableViewportSize(new Dimension(430, 300));
        //设置不能同时选中多个行
        table.setSelectionMode(DefaultListSelectionModel.SINGLE_SELECTION);
        table.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                //获取选中行
                int row=table.getSelectedRow();
                //将数据显示到文本框中
                tfDeptId.setText(colValue[row][0]);
                tfName.setText(colValue[row][1]);
                tfDeptName.setText(colValue[row][5]);
                
                btnDelete.setEnabled(true);
            }
        });
        js=new JScrollPane(table);
        js.setPreferredSize(new Dimension(430, 300));
        cons = new GridBagConstraints();
        cons.gridx = 0;
        cons.gridy = 1;
        gridBag.setConstraints(js, cons);
        pTop.add(js);
        
        add(pTop, BorderLayout.NORTH);
    }
    public void initCenter() {
        pCenter=new JPanel();
        //编号项
        lbDeptId=new JLabel("编号");
        tfDeptId=new JTextField(15);
        
        //一级部门项
        lbName=new JLabel("姓名");
        tfName=new JTextField(14);
        //二级部门项
        lbDeptName=new JLabel("部门");
        tfDeptName=new JTextField(14);
        
        pCenter.add(lbDeptId);
        pCenter.add(tfDeptId);
        pCenter.add(lbName);
        pCenter.add(tfName);
        pCenter.add(lbDeptName);
        pCenter.add(tfDeptName);
        
        add(pCenter, BorderLayout.CENTER);
    }
    public void initBottom() {
        pBottom=new JPanel();
        btnDelete=new JButton("删除");
        btnDelete.setEnabled(false);
        pBottom.add(btnDelete);
        add(pBottom,BorderLayout.SOUTH);
        btnDelete.addActionListener(this);
    }
    @Override
    public void actionPerformed(ActionEvent e) {
          if(e.getSource() == btnDelete)
          {
              Long personId = Long.valueOf(tfDeptId.getText());
              PersonDao.delete(personId);
//              PersonDao.getDeptId(personId);
          }
          updatetable();
    }
    private void updatetable()
    {
        colValue = PersonDao.getpersonsfortable();
        DefaultTableModel tableModel=new DefaultTableModel(colValue, colTitle);
        table.setModel(tableModel);
        
    }
}
********************************************************************************************************************************************

package pdsu.hrms.view;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.DefaultListSelectionModel;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;

import pdsu.hrms.dao.DeptDao;
import pdsu.hrms.dao.PersonDao;

public class Panel14 extends JPanel{
    //上部
    private JScrollPane js;
    private JTable table;
    
    String[][] colValue=null;
    String[] colTitle=new String[]{"编号","姓名","出生年月","民族","地址","部门"};

    public Panel14() {
        GridBagLayout gridBag = new GridBagLayout();
        GridBagConstraints cons = null;
        setLayout(gridBag);
        //添加标题
        JLabel lbTitle = new JLabel("人员信息查询");
        lbTitle.setFont(new Font("宋体",0,16));
        cons = new GridBagConstraints();
        cons.gridx = 0;
        cons.gridy = 0;
        gridBag.setConstraints(lbTitle, cons);
        add(lbTitle);
                
        colValue = PersonDao.getpersonsfortable();
        table=new JTable(colValue, colTitle);
        
        //设置表格的默认大小
        table.setPreferredScrollableViewportSize(new Dimension(430, 390));
        //设置不能同时选中多个行
        table.setSelectionMode(DefaultListSelectionModel.SINGLE_SELECTION);
        js=new JScrollPane(table);
        js.setPreferredSize(new Dimension(600, 500));
        cons = new GridBagConstraints();
        cons.gridx = 0;
        cons.gridy = 1;
        gridBag.setConstraints(js, cons);
        add(js);
        updatetable();
    }
    private void updatetable()
    {
        colValue = PersonDao.getpersonsfortable();
        DefaultTableModel tableModel=new DefaultTableModel(colValue, colTitle);
        table.setModel(tableModel);
        
    }
}
***********************************************************************************************************************************************

package pdsu.hrms.view;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.DefaultListSelectionModel;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;

import pdsu.hrms.dao.DeptDao;
import pdsu.hrms.model.Dept;

public class Panel15 extends JPanel implements ActionListener{
    //定义所需的组件
    private JPanel pTop;
    private JPanel pCenter;
    private JPanel pBottom;
    //上部
    private JScrollPane js;
    private JTable table;
    //中部
    private JLabel lbDeptId;
    private JLabel lbDept1Name;
    private JLabel lbDept2Name;
    
    private JTextField tfDeptId;
    private JTextField tfDept1Name;
    private JTextField tfDept2Name;
    
    //底部
    private JButton btnNextId;
    private JButton btnAdd;
    private JButton btnUpdate;
    private JButton btnDelete;
    private JButton btnClear;
    String[][] colValue=null;
    String[] colTitle=new String[]{"部门编号","一级部门","二级部门"};

    public Panel15() {
        //设置为边界布局
        setLayout(new BorderLayout());
        
        initTop();
        initCenter();
        initBottom();
    }
    //初始化上部面板
    public void initTop() {
        pTop=new JPanel();
        //创建一个10行3列的列表
        //table=new JTable(10,3);
        //列标题
        //创建一个10行3列的列表
//        String[][] colValue=new String[10][3];
        //模拟数据
        /*
        colValue[0][0]="1";
        colValue[0][1]="办公室";
        colValue[0][2]="综合科";
        colValue[1][0]="2";
        colValue[1][1]="人事处";
        colValue[1][2]="人事科";*/
        colValue = DeptDao.getDeptsForTable();
        table=new JTable(colValue, colTitle);
        
        //设置表格的默认大小
        table.setPreferredScrollableViewportSize(new Dimension(430, 300));
        //设置不能同时选中多个行
        table.setSelectionMode(DefaultListSelectionModel.SINGLE_SELECTION);
        table.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                //获取选中行
                int row=table.getSelectedRow();
                //将数据显示到文本框中
                tfDeptId.setText(colValue[row][0]);
                tfDept1Name.setText(colValue[row][1]);
                tfDept2Name.setText(colValue[row][2]);
                
                btnUpdate.setEnabled(true);
                btnDelete.setEnabled(true);
                btnAdd.setEnabled(false);
            }
        });
        js=new JScrollPane(table);
        js.setPreferredSize(new Dimension(430, 300));
        pTop.add(js);
        
        add(pTop, BorderLayout.NORTH);
    }
    public void initCenter() {
        pCenter=new JPanel();
        //编号项
        lbDeptId=new JLabel("编号");
        tfDeptId=new JTextField(15);
        
        //一级部门项
        lbDept1Name=new JLabel("一级部门");
        tfDept1Name=new JTextField(14);
        
        //二级部门项
        lbDept2Name=new JLabel("二级部门");
        tfDept2Name=new JTextField(14);
        
        pCenter.add(lbDeptId);
        pCenter.add(tfDeptId);
        pCenter.add(lbDept1Name);
        pCenter.add(tfDept1Name);
        pCenter.add(lbDept2Name);
        pCenter.add(tfDept2Name);
        
        add(pCenter, BorderLayout.CENTER);
    }
    public void initBottom() {
        pBottom=new JPanel();
        btnNextId=new JButton("获取新编号");
        btnAdd=new JButton("增加");
        btnUpdate=new JButton("修改");
        btnDelete=new JButton("删除");
        btnClear=new JButton("清空");
        
        btnAdd.setEnabled(false);
        btnUpdate.setEnabled(false);
        btnDelete.setEnabled(false);
        
        pBottom.add(btnNextId);
        pBottom.add(btnAdd);
        pBottom.add(btnUpdate);
        pBottom.add(btnDelete);
        pBottom.add(btnClear);
        
        btnNextId.addActionListener(this);
        btnAdd.addActionListener(this);
        btnClear.addActionListener(this);
        btnDelete.addActionListener(this);
        btnUpdate.addActionListener(this);
        
        add(pBottom,BorderLayout.SOUTH);
    }
    @Override
    public void actionPerformed(ActionEvent e) {
        //获取新编号
        if(e.getSource()==btnNextId) 
        {
            tfDeptId.setText(String.valueOf(DeptDao.getNextId()));
            tfDept1Name.setText(null);
            tfDept2Name.setText(null);
            btnUpdate.setEnabled(false);
            btnDelete.setEnabled(false);
            btnAdd.setEnabled(true);
        }
        if (e.getSource() == btnAdd)
        {
            Dept dept = new Dept();
            dept.setDeptid(Long.valueOf(tfDeptId.getText()));
            dept.setDept1name(tfDept1Name.getText());
            dept.setDept2name(tfDept2Name.getText());
            DeptDao.add(dept);
        }
        if (e.getSource() == btnUpdate)
        {
            Dept dept = new Dept();
            dept.setDeptid(Long.valueOf(tfDeptId.getText()));
            dept.setDept1name(tfDept1Name.getText());
            dept.setDept2name(tfDept2Name.getText());
            DeptDao.update(dept);
        }
        if(e.getSource() == btnDelete)
        {
            Long deptId = Long.valueOf(tfDeptId.getText());
            DeptDao.delete(deptId);
        }
        if (e.getSource() == btnClear)
        {
            tfDeptId.setText(null);
            tfDept1Name.setText(null);
            tfDept2Name.setText(null);
        }
        
        updatetable();
    }
    private void updatetable()
    {
        colValue = DeptDao.getDeptsForTable();
        DefaultTableModel tableModel=new DefaultTableModel(colValue, colTitle);
        table.setModel(tableModel);
        
    }
    
}
****************************************************************************************************************************************

package pdsu.hrms.view;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.text.DateFormat;
import java.util.Date;

import javax.swing.DefaultListSelectionModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;

import pdsu.hrms.dao.DeptDao;
import pdsu.hrms.dao.HistoryDao;
import pdsu.hrms.dao.PersonDao;
import pdsu.hrms.model.History;

public class Panel21 extends JPanel implements ActionListener,ItemListener
{
    //定义所需的组件
    private JPanel pTop;
    private JPanel pCenter;
    private JPanel pBottom;
    //上部
    private JScrollPane js;
    private JTable table;
    //中部
    private JLabel lbName;
    private JLabel lbOldDept;
    private JLabel lbNewDept;
    
    private JTextField tfName;
    private JTextField tfOldDept;
    private JComboBox<String> comboNewDept;
    
    //底部
    long DeptID = 0;
    private JButton btnNewDept;
    private JButton btnDeleteAll;
    String[][] colValue=new String[10][6];
    String[] colTitle=new String[]{"工号","姓名","性别","部门","薪酬","考核信息"};

    public Panel21() {
        //设置为边界布局
        setLayout(new BorderLayout());
        
        initTop();
        initCenter();
        initBottom();
    }
    //初始化上部面板
    public void initTop() {
        pTop=new JPanel();
        GridBagLayout gridBag = new GridBagLayout();
        GridBagConstraints cons = null;
        pTop.setLayout(gridBag);
        
        //添加标题
        JLabel lbTitle = new JLabel("人员调动");
        lbTitle.setFont(new Font("宋体",0,16));
        cons = new GridBagConstraints();
        cons.gridx = 0;
        cons.gridy = 0;
        gridBag.setConstraints(lbTitle, cons);
        pTop.add(lbTitle);
                
        
        //创建一个10行3列的列表
        //table=new JTable(10,3);
        //列标题
        //创建一个10行3列的列表
//        String[][] colValue=new String[10][3];
        //模拟数据
        /*
        colValue[0][0]="1";
        colValue[0][1]="张三";
        colValue[0][2]="男";
        colValue[0][3]="教务处-注册中心";
        colValue[0][4]="6000";
        colValue[0][5]="优秀";
        colValue[1][0]="2";
        colValue[1][1]="李四";
        colValue[1][2]="男";
        colValue[1][3]="人事处-师资科";
        colValue[1][4]="0";
        colValue[1][5]="不合格";*/
        colValue = PersonDao.getAllForHistory();
        table=new JTable(colValue, colTitle);
        
        //设置表格的默认大小
        table.setPreferredScrollableViewportSize(new Dimension(430, 300));
        //设置不能同时选中多个行
        table.setSelectionMode(DefaultListSelectionModel.SINGLE_SELECTION);
        table.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                //获取选中行
                int row=table.getSelectedRow();
                //将数据显示到文本框中
                tfName.setText(colValue[row][1]);
                tfOldDept.setText(colValue[row][3]);
                
                btnNewDept.setEnabled(true);
            }
        });
        js=new JScrollPane(table);
        js.setPreferredSize(new Dimension(430, 300));
        cons = new GridBagConstraints();
        cons.gridx = 0;
        cons.gridy = 1;
        gridBag.setConstraints(js, cons);
        pTop.add(js);
        
        add(pTop, BorderLayout.NORTH);
    }
    public void initCenter() {
        pCenter=new JPanel();
        //编号项
        lbName=new JLabel("姓名");
        tfName=new JTextField(15);
        
        //一级部门项
        lbOldDept=new JLabel("原部门");
        tfOldDept=new JTextField(14);
        
        //二级部门项
        lbNewDept=new JLabel("新部门");
        String[] allType = DeptDao.getDeptsForSelect();
        comboNewDept=new JComboBox<String>(allType);
        //comboNewDept.addItem("未考核");
        pCenter.add(lbName);
        pCenter.add(tfName);
        pCenter.add(lbOldDept);
        pCenter.add(tfOldDept);
        pCenter.add(lbNewDept);
        pCenter.add(comboNewDept);
        
        
        add(pCenter, BorderLayout.CENTER);
    }
    public void initBottom() {
        pBottom=new JPanel();
        btnNewDept=new JButton("调入新部门");
        btnDeleteAll=new JButton("清空信息");
        
        btnNewDept.setEnabled(false);
        
        pBottom.add(btnNewDept);
        pBottom.add(btnDeleteAll);
        
        btnDeleteAll.addActionListener(this);
        btnNewDept.addActionListener(this);
        comboNewDept.addItemListener(this);
        add(pBottom,BorderLayout.SOUTH);
    }
    
    private void updatetable()
    {
        colValue = PersonDao.getAllForHistory();
        DefaultTableModel tableModel=new DefaultTableModel(colValue, colTitle);
        table.setModel(tableModel);
        
    }
    @Override
    public void itemStateChanged(ItemEvent e1) {
        // TODO Auto-generated method stub
        if (e1.getStateChange() == 1) {
            Object tempStr = e1.getItem();
            int i = ((String) tempStr).indexOf("-");
            DeptID = Long.parseLong(((String) tempStr).substring(0, i));
              //System.out.println(DeptID);            
    } 
    }
    @Override
    public void actionPerformed(ActionEvent e) {
          if(e.getSource() == btnDeleteAll)
          {
              tfName.setText(null);
              tfOldDept.setText(null);
              btnDeleteAll.setEnabled(true);
          }
          if(e.getSource() == btnNewDept)
          {
                  long deptId;
                  String name = tfName.getText();
                  deptId = DeptID;
                  //System.out.println(DeptID);
                  PersonDao.updateDept(name, deptId);
                  Long histId = HistoryDao.getNextId();
                  String histType = "人员调动";
                  String oldInfo = tfOldDept.getText();
                  String newInfo = String.valueOf(DeptID);
                  Date now = new Date();
                  DateFormat date = DateFormat.getDateInstance();
                  String chgDate = date.format(now);
                  Long personbId = HistoryDao.getPersonId(tfName.getText());
                  long chgNum = HistoryDao.getChgCount(personbId, histType);
                  History h = new History();
                  h.setHistid(histId);
                  h.setHisType(histType);
                  h.setOldInfo(oldInfo);
                  h.setNewInfo(newInfo);
                  h.setChgDate(chgDate);
                  h.setChgNum(chgNum);
                  h.setPersonid(personbId);
                  HistoryDao.add(h);
          }
          updatetable();
    }
    

}
******************************************************************************************************************************************

package pdsu.hrms.view;
//调动历史
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.DefaultListSelectionModel;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;

import pdsu.hrms.dao.HistoryDao;

public class Panel22 extends JPanel{
    //上部
    private JScrollPane js;
    private JTable table;
    
    String[][] colValue=new String[10][6];
    public Panel22() {
        GridBagLayout gridBag = new GridBagLayout();
        GridBagConstraints cons = null;
        setLayout(gridBag);
        //添加标题
        JLabel lbTitle = new JLabel("调动历史查询");
        lbTitle.setFont(new Font("宋体",0,16));
        cons = new GridBagConstraints();
        cons.gridx = 0;
        cons.gridy = 0;
        gridBag.setConstraints(lbTitle, cons);
        add(lbTitle);
                
        
        //创建一个10行3列的列表
        //table=new JTable(10,3);
        //列标题
        String[] colTitle=new String[]{"流水号","人员姓名","原部门","新部门","变更次数","变更日期"};
        //创建一个10行3列的列表
//                String[][] colValue=new String[10][3];
        //模拟数据
        /*
        colValue[0][0]="1";
        colValue[0][1]="张三";
        colValue[0][2]="办公室-综合科";
        colValue[0][3]="人事处-人事科";
        colValue[0][4]="1";
        colValue[0][5]="2010-10-01";
        colValue[1][0]="2";
        colValue[1][1]="李四";
        colValue[1][2]="人事处-人事科";
        colValue[1][3]="人事处-师资科";
        colValue[1][4]="1";
        colValue[1][5]="2010-10-25";*/
        colValue = HistoryDao.getAllByType("人员调动");
        table=new JTable(colValue, colTitle);
        
        //设置表格的默认大小
        table.setPreferredScrollableViewportSize(new Dimension(430, 390));
        //设置不能同时选中多个行
        table.setSelectionMode(DefaultListSelectionModel.SINGLE_SELECTION);
        js=new JScrollPane(table);
        js.setPreferredSize(new Dimension(430, 390));
        cons = new GridBagConstraints();
        cons.gridx = 0;
        cons.gridy = 1;
        gridBag.setConstraints(js, cons);
        add(js);
        
    }
}

********************************************************************************************************************************************

package pdsu.hrms.view;
//人员考核
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.text.DateFormat;
import java.util.Date;

import javax.swing.DefaultListSelectionModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;

import pdsu.hrms.dao.HistoryDao;
import pdsu.hrms.dao.PersonDao;
import pdsu.hrms.model.History;

public class Panel31 extends JPanel implements ActionListener , ItemListener{
    //定义所需的组件
    private JPanel pTop;
    private JPanel pCenter;
    private JPanel pBottom;
    //上部
    private JScrollPane js;
    private JTable table;
    //中部
    private JLabel lbName;
    private JLabel lbLastExam;
    private JLabel lbCurrentExam;
    
    private JTextField tfName;
    private JTextField tfLastExam;
    private JComboBox<String> comboCurrentExam;
    
    //底部
    private JButton btnOK;
    private JButton btnDeleteAll;
    String[][] colValue=new String[10][6];
    String[] colTitle=new String[]{"工号","姓名","性别","部门","薪酬","考核信息"};
    String access = null;

    public Panel31() {
        //设置为边界布局
        setLayout(new BorderLayout());
        
        initTop();
        initCenter();
        initBottom();
    }
    //初始化上部面板
    public void initTop() {
        pTop=new JPanel();
        GridBagLayout gridBag = new GridBagLayout();
        GridBagConstraints cons = null;
        pTop.setLayout(gridBag);
        
        //添加标题
        JLabel lbTitle = new JLabel("人员考核    ");
        lbTitle.setFont(new Font("宋体",0,16));
        cons = new GridBagConstraints();
        cons.gridx = 0;
        cons.gridy = 0;
        gridBag.setConstraints(lbTitle, cons);
        pTop.add(lbTitle);
                
        colValue = PersonDao.getAllForHistory();
        table=new JTable(colValue, colTitle);
        
        //设置表格的默认大小
        table.setPreferredScrollableViewportSize(new Dimension(430, 300));
        //设置不能同时选中多个行
        table.setSelectionMode(DefaultListSelectionModel.SINGLE_SELECTION);
        table.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                //获取选中行
                int row=table.getSelectedRow();
                //将数据显示到文本框中
                tfName.setText(colValue[row][1]);
                tfLastExam.setText(colValue[row][5]);
                
                btnOK.setEnabled(true);
            }
        });
        js=new JScrollPane(table);
        js.setPreferredSize(new Dimension(430, 300));
        cons = new GridBagConstraints();
        cons.gridx = 0;
        cons.gridy = 1;
        gridBag.setConstraints(js, cons);
        pTop.add(js);
        
        add(pTop, BorderLayout.NORTH);
    }
    public void initCenter() {
        pCenter=new JPanel();
        //编号项
        lbName=new JLabel("姓名");
        tfName=new JTextField(15);
        
        //一级部门项
        lbLastExam=new JLabel("上次考核");
        tfLastExam=new JTextField(14);
        
        //二级部门项
        lbCurrentExam=new JLabel("本次考核");
        comboCurrentExam=new JComboBox<String>();
        comboCurrentExam.addItem("优秀");
        comboCurrentExam.addItem("及格");
        comboCurrentExam.addItem("不及格");
        pCenter.add(lbName);
        pCenter.add(tfName);
        pCenter.add(lbLastExam);
        pCenter.add(tfLastExam);
        pCenter.add(lbCurrentExam);
        pCenter.add(comboCurrentExam);
        
        add(pCenter, BorderLayout.CENTER);
    }
    public void initBottom() {
        pBottom=new JPanel();
        btnOK=new JButton("确定");
        btnDeleteAll=new JButton("清空");
        
        btnOK.setEnabled(false);
        
        pBottom.add(btnOK);
        pBottom.add(btnDeleteAll);
        
        btnDeleteAll.addActionListener(this);
        btnOK.addActionListener(this);
        comboCurrentExam.addItemListener(this);
        add(pBottom,BorderLayout.SOUTH);
    }
    
    private void updatetable()
    {
        colValue = PersonDao.getAllForHistory();
        DefaultTableModel tableModel=new DefaultTableModel(colValue, colTitle);
        table.setModel(tableModel);
        
    }
    @Override
    public void itemStateChanged(ItemEvent e) {
        // TODO Auto-generated method stub
        /*
        if (e.getItem() == "优秀")
        {
            access = "优秀";
        }
        if (e.getItem() == "及格")
        {
            access = "及格";
        }
        if(e.getItem() == "不及格")
        {
            access = "不及格";
        }*/
         if(e.getStateChange() == 1)
         {
           access = (String)e.getItem();
           //System.out.println(access);
         }
    }
    @Override
    public void actionPerformed(ActionEvent e) {
          if(e.getSource()==btnDeleteAll)
          {
              tfLastExam.setText(null);
              tfName.setText(null);
              btnOK.setEnabled(true);
          }
          if(e.getSource() == btnOK)
          {
              String name = tfName.getText();
              String assess = (String) comboCurrentExam.getSelectedItem();
              PersonDao.updateAssess(name, assess);
              Long histId = HistoryDao.getNextId();
              String histType = "人员考核";
              String oldInfo = tfLastExam.getText();
              String newInfo = access;
              //System.out.println(newInfo);
              Date now = new Date();
              DateFormat date = DateFormat.getDateInstance();
              String chgDate = date.format(now);
              Long personbId = HistoryDao.getPersonId(tfName.getText());
              long chgNum = HistoryDao.getChgCount(personbId, histType);
              History h = new History();
              h.setHistid(histId);
              h.setHisType(histType);
              h.setOldInfo(oldInfo);
              h.setNewInfo(newInfo);
              h.setChgDate(chgDate);
              h.setChgNum(chgNum);
              h.setPersonid(personbId);
              HistoryDao.add(h);
          }
          updatetable();
    }
    
}
********************************************************************************************************************************************

package pdsu.hrms.view;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.DefaultListSelectionModel;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;

import pdsu.hrms.dao.HistoryDao;

public class Panel32 extends JPanel{
    //上部
    private JScrollPane js;
    private JTable table;
    
    String[][] colValue=new String[10][6];
    public Panel32() {
        GridBagLayout gridBag = new GridBagLayout();
        GridBagConstraints cons = null;
        setLayout(gridBag);
        //添加标题
        JLabel lbTitle = new JLabel("人员考核历史查询");
        lbTitle.setFont(new Font("宋体",0,16));
        cons = new GridBagConstraints();
        cons.gridx = 0;
        cons.gridy = 0;
        gridBag.setConstraints(lbTitle, cons);
        add(lbTitle);
                
        
        //创建一个10行3列的列表
        //table=new JTable(10,3);
        //列标题
        String[] colTitle=new String[]{"流水号","人员姓名","上次考核","本次考核","变更次数","变更日期"};
        //创建一个10行3列的列表
//                String[][] colValue=new String[10][3];
        //模拟数据
        /*
        colValue[0][0]="1";
        colValue[0][1]="张三";
        colValue[0][2]="未考核";
        colValue[0][3]="合格";
        colValue[0][4]="1";
        colValue[0][5]="2010-10-01";
        colValue[1][0]="2";
        colValue[1][1]="李四";
        colValue[1][2]="未考核";
        colValue[1][3]="优秀";
        colValue[1][4]="1";
        colValue[1][5]="2010-10-25";*/
        colValue = HistoryDao.getAllByType("人员考核");
        table=new JTable(colValue, colTitle);
        
        //设置表格的默认大小
        table.setPreferredScrollableViewportSize(new Dimension(430, 390));
        //设置不能同时选中多个行
        table.setSelectionMode(DefaultListSelectionModel.SINGLE_SELECTION);
        js=new JScrollPane(table);
        js.setPreferredSize(new Dimension(430, 390));
        cons = new GridBagConstraints();
        cons.gridx = 0;
        cons.gridy = 1;
        gridBag.setConstraints(js, cons);
        add(js);
        
    }
}
**************************************************************************************************************************************************************************************************************************************************************************************************

猜你喜欢

转载自blog.csdn.net/Black_Fox123/article/details/85471054