⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usersdialog.java

📁 用java编写的人事管理系统,很好的 学习下吧
💻 JAVA
字号:
/**
 * 源文件:UsersDialog.java
 * 作用:员工信息窗体
 */
package mypro;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
import java.util.*;

public class UsersDialog extends JDialog implements ActionListener,MouseListener
{
	UsersData ud=new UsersData();
	Check check=new Check();
	private JLabel labCode,labUserName,labPwd,labSex,labTel,labUserID,labAddr,labJoinDate;
	private JTextField txtCode,txtUserName,txtPwd,txtTel,txtUserID,txtAddr,txtJoinDate;
	private JRadioButton raMale,raFemale;
	private ButtonGroup bg;
	private JButton btnInsert,btnUpdate,btnDelete;
	private JScrollPane scop;
	private JTable tabShow;
	private DefaultTableModel dtm;
	private int row=0;
	
	static 
	{
   	 	//设置窗体为豪华框架
   		JDialog.setDefaultLookAndFeelDecorated(true);		
	}
	
	public UsersDialog(MainFrame owner,boolean bo)
	{
		super(owner,bo);
	  	labCode = new JLabel("*工号");
  		txtCode = new JTextField();
  		labUserName = new JLabel("*员工姓名");
  		txtUserName = new JTextField();
  		labPwd = new JLabel("*用户密码");
  		txtPwd = new JTextField("888888");
  		labSex = new JLabel("*性别");
  		raMale = new JRadioButton("男");
		raFemale = new JRadioButton("女");
		bg = new ButtonGroup();
  		labTel = new JLabel("*联系人电话");
  		txtTel = new JTextField();
  		labUserID = new JLabel("*身份证号码");
  		txtUserID = new JTextField();
  		labAddr = new JLabel("家庭住址");
  		txtAddr = new JTextField();
  		labJoinDate=new JLabel("*加入公司日期");
  		txtJoinDate= new JTextField();
  		btnInsert = new JButton("插入");
  		btnUpdate = new JButton("修改");
  		btnDelete = new JButton("删除");
  		scop = new JScrollPane();
  		tabShow = new JTable();
  		
        labCode.setBounds(new Rectangle(12, 16, 73, 14));
    	txtCode.setBounds(new Rectangle(82, 16, 121, 23));
    	labUserName.setBounds(new Rectangle(12, 49, 73, 14));
    	txtUserName.setBounds(new Rectangle(82, 49, 121, 23));
    	labPwd.setBounds(new Rectangle(12, 82, 73, 14));
    	txtPwd.setBounds(new Rectangle(82, 82, 121, 23));
    	labSex.setBounds(new Rectangle(12, 115, 73, 14));
   		raMale.setBounds(new Rectangle(82, 115, 55, 23));
    	raMale.setSelected(true);
		raFemale.setBounds(new Rectangle(142, 115, 55, 23));
    	labTel.setBounds(new Rectangle(235, 18, 95, 14));
    	txtTel.setBounds(new Rectangle(330, 18, 121, 23));
    	labUserID.setBounds(new Rectangle(235, 49, 95, 14));
    	txtUserID.setBounds(new Rectangle(330, 49, 121, 23));
    	labAddr.setBounds(new Rectangle(235, 82, 95, 14));
    	txtAddr.setBounds(new Rectangle(330, 82, 121, 23));
        labJoinDate.setBounds(new Rectangle(235, 117, 95, 14));
        txtJoinDate.setBounds(new Rectangle(330, 117, 121, 23));
        
        btnInsert.setBounds(new Rectangle(12, 148, 89, 28));
    	btnInsert.setActionCommand("Insert");
        btnInsert.setToolTipText("插入新的员工信息");
    	btnUpdate.setBounds(new Rectangle(187, 148, 89, 28));
    	btnUpdate.setActionCommand("Update");
    	btnUpdate.setToolTipText("修改员工信息");
    	btnDelete.setBounds(new Rectangle(362, 148, 89, 28));
    	btnDelete.setActionCommand("Delete");
    	btnDelete.setToolTipText("删除员工信息");
    	scop.setBounds(new Rectangle(12, 190, 439, 98));
    	
    	btnInsert.addActionListener(this);
    	btnUpdate.addActionListener(this);
    	btnDelete.addActionListener(this);
    	tabShow.addMouseListener(this);
        
        Container me=this.getContentPane();
  		me.setLayout(null);
     	me.add(labCode);
        me.add(txtCode);
        me.add(labUserName);
        me.add(txtUserName);
        me.add(labPwd);
        me.add(txtPwd);
        me.add(labSex);
   	    me.add(raMale);
        me.add(raFemale);
        bg.add(raMale);
        bg.add(raFemale);
   	 	me.add(labTel);
    	me.add(txtTel);
    	me.add(labUserID);
    	me.add(txtUserID);
    	me.add(labAddr);
    	me.add(txtAddr);
    	me.add(labJoinDate);
    	me.add(txtJoinDate);
    	me.add(btnInsert);
    	me.add(btnDelete);
    	me.add(btnUpdate);
    	me.add(scop);
        scop.getViewport().add(tabShow);
        DatabaseOperate datao = new DatabaseOperate();
  		dtm = new DefaultTableModel(datao.getDataByTabname("users"),datao.getColumnNamesByTabname("users"));
        tabShow.setModel(dtm);//通过dtm模型构造表
        tabShow.setAutoResizeMode(tabShow.AUTO_RESIZE_OFF);//当调整表的大小时,设置表的自动调整模式为不自动调整列的宽度;使用滚动条
    	
		this.setTitle("员工信息");
	  	this.setSize(480,380);
	  	this.setLocationRelativeTo(this);
	  	this.setResizable(false);
	  	this.setVisible(true);
	  }
	  public void actionPerformed(ActionEvent uae)
	  {
	  		String strbtn=uae.getActionCommand();
		  	if(strbtn.equals("Insert"))
		  	{
		  		String strcode=txtCode.getText().trim();
		  		if(check.checkPrimary("users","工号",strcode))
			  	{
			  		JOptionPane.showMessageDialog(null,"该工号已存在","提示",JOptionPane.INFORMATION_MESSAGE);
			  		txtCode.setText("");
		 			txtCode.requestFocus();
			  	}
		  		else if(operationBeforeCheck())
		  		{
			  		InsertData ind =new InsertData();
			  		Vector vid = dataVector();
			  		if(ind.UsersInsert(ud))
			  		{
			  			JOptionPane.showMessageDialog(null,"成功插入一行数据","提示",JOptionPane.INFORMATION_MESSAGE);
			  			dtm.addRow(vid);//添加一行到模型的结尾	
			  		}
			  		else
			  		{
			  			JOptionPane.showMessageDialog(null,"数据插入失败","提示",JOptionPane.INFORMATION_MESSAGE);	
			  		}
		  		}
		  	}
		  	else if(strbtn.equals("Update"))
		  	{
		  		String strcode=txtCode.getText().trim();
		  		String strcode1=tabShow.getValueAt(row,0).toString().trim();
		  		if(!strcode.equals(strcode1))
		  		{
			  		if(check.checkPrimary("stockTel","工号",strcode1)||check.checkPrimary("sellTel","工号",strcode1)||check.checkPrimary("backTel","工号",strcode1)||check.checkPrimary("changeTel","工号",strcode1))
					{
						JOptionPane.showMessageDialog(null,"该工号被营销信息管理中的表引用,禁止更改","提示",JOptionPane.INFORMATION_MESSAGE);
				  		txtCode.setText(strcode1);
					}
					else if(check.checkUpdataAfterUnique("users","工号",strcode,strcode1))
					{
						JOptionPane.showMessageDialog(null,"该工号已存在,无法修改","提示",JOptionPane.INFORMATION_MESSAGE);
				  		txtCode.setText("");
			 			txtCode.requestFocus();
					}
		  		}
				else if(operationBeforeCheck())
				{
					UpdateData upd=new UpdateData();
					
					if(upd.usersUpdate(ud,strcode1))
					{
						JOptionPane.showMessageDialog(null,"成功修改一行数据","提示",JOptionPane.INFORMATION_MESSAGE);
						changeRowData();//修改表模型中的数据
					}
					else
					{
						JOptionPane.showMessageDialog(null,"数据修改失败","提示",JOptionPane.INFORMATION_MESSAGE);
					}
				}
		  	}
		  	else if(strbtn.equals("Delete"))
		  	{
		  		String strcoded=tabShow.getValueAt(row,0).toString().trim();
				DeleteData ded=new DeleteData();
				if(check.checkPrimary("stockTel","工号",strcoded)||check.checkPrimary("sellTel","工号",strcoded)||check.checkPrimary("backTel","工号",strcoded)||check.checkPrimary("changeTel","工号",strcoded))
				{
					JOptionPane.showMessageDialog(null,"该工号被营销信息管理中的表引用,请先删除或修改其他表中相关数据","提示",JOptionPane.INFORMATION_MESSAGE);
				}
				else
				{
					if(ded.deleteDate("users","工号",strcoded))
					{
						JOptionPane.showMessageDialog(null,"成功删除一行数据","提示",JOptionPane.INFORMATION_MESSAGE);
						dtm.removeRow(row);//移除模型中 row 位置的行
					}
					else
					{
						JOptionPane.showMessageDialog(null,"数据删除失败","提示",JOptionPane.INFORMATION_MESSAGE);
					}	
				}
		  		
		  	}
		  	txtCode.setText("");
		  	txtUserName.setText("");
		  	txtPwd.setText("");
		  	txtTel.setText("");
		  	txtUserID.setText("");
		  	txtAddr.setText("");
		  	txtJoinDate.setText("");
	  }
	  /*单击表中的一行将数据返回到组件中*/
	  public void mouseEntered(MouseEvent me){}
	  public void mouseExited(MouseEvent me){}
	  public void mousePressed(MouseEvent me){}
	  public void mouseReleased(MouseEvent me){}
	  public void mouseClicked(MouseEvent me)
	  {
	  	row=tabShow.getSelectedRow();
	  	String strcode=(String)tabShow.getValueAt(row,0);
	  	String strun=(String)tabShow.getValueAt(row,1);
	  	String strpwd=(String)tabShow.getValueAt(row,2);
	  	String strsex=(String)tabShow.getValueAt(row,3);
	  	String strtel=(String)tabShow.getValueAt(row,4);
	  	String struID=(String)tabShow.getValueAt(row,5);
	  	String straddr=(String)tabShow.getValueAt(row,6);
	  	String strjoind=(String)tabShow.getValueAt(row,7);
	  	
	  	txtCode.setText(strcode.trim());
	  	txtUserName.setText(strun.trim());
	  	txtPwd.setText(strpwd.trim());
	  	if(strsex.equals("男"))
	  	{
	  		raMale.setSelected(true);
	  	}
	  	else if(strsex.equals("女"))
	  	{
	  		raFemale.setSelected(true);
	  	}
	  	txtTel.setText(strtel.trim());
	  	txtUserID.setText(struID.trim());
	  	if(straddr==null)
	  	{
	  		txtAddr.setText(straddr);
	  	}
	  	else
	  	{
	  		txtAddr.setText(straddr.trim());
	  	}
	  	txtJoinDate.setText(strjoind.trim());
	  	
	  }
	  /* 执行操作前对数据进行验证*/
	  public boolean operationBeforeCheck()
	  {
	  		String strcode=txtCode.getText().trim();
		  	String strun=txtUserName.getText().trim();
		  	String strpwd=txtPwd.getText().trim();
		  	String strsex;
		  	if(raMale.isSelected())
		  	{
		  		strsex=raMale.getText().trim();
		  	}
		  	else
		  	{
		  		strsex=raFemale.getText().trim();
		  	}
		  	String strtel=txtTel.getText().trim();
		  	String struID=txtUserID.getText().trim();
		  	String straddr=txtAddr.getText().trim();
		  	String strjoind=txtJoinDate.getText().trim();
		  	
		  	if(straddr.equals(""))
		  	{
		  		straddr=null;	
		  	}
		  	
		  	ud.setUserCode(strcode);
		  	ud.setUserName(strun);
		  	ud.setPwd(strpwd);
		  	ud.setSex(strsex);
		  	ud.setTel(strtel);
		  	ud.setUserID(struID);
		  	ud.setAddr(straddr);
		  	ud.setJoinDate(strjoind);
		  	
		  	if(strcode.length()==0||strun.length()==0||strpwd.length()==0||strtel.length()==0||struID.length()==0||strjoind.length()==0)
		  	{
		  		JOptionPane.showMessageDialog(null,"带*号的必填,请填写完整","提示",JOptionPane.INFORMATION_MESSAGE);
		  		return false;
		  	}
		  	else if(strcode.length()>5)
		  	{
		  			
		  		JOptionPane.showMessageDialog(null,"工号在5位以内","提示",JOptionPane.INFORMATION_MESSAGE);
		  		txtCode.setText("");
	 			txtCode.requestFocus();
	 			return false;
		  	}
		  	else if(strpwd.length()!=6)
		  	{
		  		JOptionPane.showMessageDialog(null,"请输入6位数密码","提示",JOptionPane.INFORMATION_MESSAGE);
		  		txtPwd.setText("");
	 			txtPwd.requestFocus();
	 			return false;
		  	}
		  	else if(!check.checkTel(strtel))
		  	{
		  		JOptionPane.showMessageDialog(null,"电话号码格式或位数不对","提示",JOptionPane.INFORMATION_MESSAGE);
		  		txtTel.setText("");
	 			txtTel.requestFocus();
	 			return false;	
		  	}
		  	else if(!(struID.length()==15||struID.length()==18))
		  	{
		  		JOptionPane.showMessageDialog(null,"请填写正确的身份证号码","提示",JOptionPane.INFORMATION_MESSAGE);
		  		txtUserID.setText("");
	 			txtUserID.requestFocus();
	 			return false;
		  	}
			else if(straddr!=null&&straddr.length()>25)
		  	{
		  		JOptionPane.showMessageDialog(null,"字数过长","提示",JOptionPane.INFORMATION_MESSAGE);
		  		txtAddr.setText("");
	 			txtAddr.requestFocus();
	 			return false;
		  	}
		  	else if(!check.checkDate(strjoind))
		  	{
		  		JOptionPane.showMessageDialog(null,"请输入准确的,如1996-02-03格式的日期","提示",JOptionPane.INFORMATION_MESSAGE);
		  		txtJoinDate.setText("");
	 			txtJoinDate.requestFocus();
	 			return false;
		  	}
		  	else
		  	{
		  		return true;
		  	}
	  }
	  /*得到一行加入模型中的数据*/
	  public Vector dataVector()
	  {
	  	Vector vd=new Vector();
		vd.add(ud.getUserCode());
		vd.add(ud.getUserName());
		vd.add(ud.getPwd());
		vd.add(ud.getSex());
		vd.add(ud.getTel());
		vd.add(ud.getUserID());
		vd.add(ud.getAddr());
		vd.add(ud.getJoinDate());
		return vd;
	  }
	  /*修改表模型中的数据*/
	  public void changeRowData()
	  {
	  	tabShow.setValueAt(ud.getUserCode(),row,0);
	  	tabShow.setValueAt(ud.getUserName(),row,1);
	  	tabShow.setValueAt(ud.getPwd(),row,2);
	  	tabShow.setValueAt(ud.getSex(),row,3);
	  	tabShow.setValueAt(ud.getTel(),row,4);
	  	tabShow.setValueAt(ud.getUserID(),row,5);
	  	tabShow.setValueAt(ud.getAddr(),row,6);
	  	tabShow.setValueAt(ud.getJoinDate(),row,7);
	  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -