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

📄 sellteldialog.java

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

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

public class SellTelDialog extends JDialog  implements ActionListener,MouseListener
{
	SellTelData sed=new SellTelData();
	Check check=new Check();
	private JLabel labSellInvoice,labImei,labSellPrice,labSellDate,labUserCode,labCustomerCode,labContents;
	private JTextField txtSellInvoice,txtImei,txtSellPrice,txtSellDate,txtUserCode,txtCustomerCode;
	private JButton btnInsert,btnUpdate,btnDelete;
	private JTextArea teaContents;
	private JScrollPane scop,scop1;
	private JTable tabShow;
	private DefaultTableModel dtm;
	private int row=0;
	
	static 
	{
   	 	//设置窗体为豪华框架
   		JDialog.setDefaultLookAndFeelDecorated(true);		
	}
	
	public SellTelDialog(MainFrame owner,boolean bo)
	{
		super(owner,bo);
		labSellInvoice = new JLabel("*销售单号");
  		txtSellInvoice = new JTextField();
  		labImei = new JLabel("*手机串号");
  		txtImei = new JTextField();
  		labSellPrice = new JLabel("*销售单价");
  		txtSellPrice = new JTextField();
  		labSellDate = new JLabel("*销售日期");
  		txtSellDate = new JTextField();
  		labUserCode = new JLabel("*工号");
  		txtUserCode = new JTextField();
  		labCustomerCode = new JLabel("*顾客编号");
  		txtCustomerCode = new JTextField();
  		labContents = new JLabel("备注信息");
  		teaContents = new JTextArea();
		btnInsert = new JButton("插入");
  		btnUpdate = new JButton("修改");
  		btnDelete = new JButton("删除");
  		scop = new JScrollPane();
  		scop1 = new JScrollPane();
  		tabShow = new JTable();
  		
  		labSellInvoice.setBounds(new Rectangle(12, 16, 73, 14));
    	txtSellInvoice.setBounds(new Rectangle(82, 16, 121, 23));
    	labImei.setBounds(new Rectangle(12, 49, 73, 14));
    	txtImei.setBounds(new Rectangle(82, 49, 121, 23));
    	labSellPrice.setBounds(new Rectangle(12, 82, 73, 14));
    	txtSellPrice.setBounds(new Rectangle(82, 82, 121, 23));
    	labSellDate.setBounds(new Rectangle(12, 114, 73, 14));
   		txtSellDate.setBounds(new Rectangle(82, 114, 121, 23));
   		labUserCode.setBounds(new Rectangle(254, 18, 73, 14));
    	txtUserCode.setBounds(new Rectangle(330, 18, 121, 23));
    	labCustomerCode.setBounds(new Rectangle(254, 49, 73, 14));
    	txtCustomerCode.setBounds(new Rectangle(330, 49, 121, 23));
    	labContents.setBounds(new Rectangle(254, 82, 73, 14));
    	scop1.setBounds(new Rectangle(330, 82, 121, 55));
        
  		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(labSellInvoice);
        me.add(txtSellInvoice);
        me.add(labImei);
        me.add(txtImei);
        me.add(labSellPrice);
        me.add(txtSellPrice);
     	me.add(labSellDate);
   	 	me.add(txtSellDate);
   	 	me.add(labUserCode);
    	me.add(txtUserCode);
    	me.add(labCustomerCode);
    	me.add(txtCustomerCode);
    	me.add(labContents);
    	me.add(btnInsert);
    	me.add(btnDelete);
    	me.add(btnUpdate);
    	me.add(scop);
        me.add(scop1);
        scop1.getViewport().add(teaContents);
        scop.getViewport().add(tabShow);
        DatabaseOperate datao = new DatabaseOperate();
  		dtm = new DefaultTableModel(datao.getDataByTabname("sellTel"),datao.getColumnNamesByTabname("sellTel"));
        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 seae)
	{
		String strbtn=seae.getActionCommand();
		
		if(strbtn.equals("Insert"))
		{
			String strimei=txtImei.getText().trim();
			if(check.checkPrimary("sellTel","手机串号",strimei))
			{
			  	JOptionPane.showMessageDialog(null,"该手机串号已存在","提示",JOptionPane.INFORMATION_MESSAGE);
			  	txtImei.setText("");
		 		txtImei.requestFocus();			
			}
			else if(operationBeforeCheck())
			{
				InsertData ind =new InsertData();
				Vector vid = dataVector();
				if(ind.SellTelInsert(sed))
			  	{
			  		JOptionPane.showMessageDialog(null,"成功插入一行数据,请修改手机状态信息","提示",JOptionPane.INFORMATION_MESSAGE);
			  		dtm.addRow(vid);//添加一行到模型的结尾
			  		new ProductsTelDialog(null,true);	
			  	}
			  	else
			  	{
			  		JOptionPane.showMessageDialog(null,"数据插入失败","提示",JOptionPane.INFORMATION_MESSAGE);	
			  	}
			}
		}
		else if(strbtn.equals("Update"))
		{
			String strimei1=tabShow.getValueAt(row,1).toString().trim();
			String strimei=txtImei.getText().trim();
			if(!strimei.equals(strimei1))
			{
				if(check.checkPrimary("changeTel","换出的手机串号",strimei1))
				{
					JOptionPane.showMessageDialog(null,"该手机串号被调换信息表引用,禁止更改","提示",JOptionPane.INFORMATION_MESSAGE);
				  	txtImei.setText(strimei1);
				}
				else if(check.checkUpdataAfterUnique("sellTel","手机串号",strimei,strimei1))
				{
					JOptionPane.showMessageDialog(null,"该手机串号已存在,无法修改","提示",JOptionPane.INFORMATION_MESSAGE);
				  	txtImei.setText(strimei1);
			 		txtImei.requestFocus();
				}
			}
			else if(operationBeforeCheck())
			{
				UpdateData upd=new UpdateData();
					
				if(upd.sellTelUpdate(sed,strimei1))
				{
					JOptionPane.showMessageDialog(null,"成功修改一行数据","提示",JOptionPane.INFORMATION_MESSAGE);
					changeRowData();//修改表模型中的数据
				}
				else
				{
					JOptionPane.showMessageDialog(null,"数据修改失败","提示",JOptionPane.INFORMATION_MESSAGE);
				}
			}
		}
		else if(strbtn.equals("Delete"))
		{
		  	String strimeid=tabShow.getValueAt(row,1).toString().trim();
			DeleteData ded=new DeleteData();
			if(check.checkPrimary("changeTel","换出的手机串号",strimeid))
			{
				JOptionPane.showMessageDialog(null,"该手机串号被调换信息表引用,请先删除或修改其他表中相关数据","提示",JOptionPane.INFORMATION_MESSAGE);
			}
			else
			{
				if(ded.deleteDate("sellTel","手机串号",strimeid))
				{
					JOptionPane.showMessageDialog(null,"成功删除一行数据","提示",JOptionPane.INFORMATION_MESSAGE);
					dtm.removeRow(row);//移除模型中 row 位置的行
				}
				else
				{
					JOptionPane.showMessageDialog(null,"数据删除失败","提示",JOptionPane.INFORMATION_MESSAGE);
				}	
			}			
		}
		txtSellInvoice.setText("");
		txtImei.setText("");
		txtSellPrice.setText("");
		txtSellDate.setText("");
		txtUserCode.setText("");
		txtCustomerCode.setText("");
		teaContents.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 strsei=String.valueOf(tabShow.getValueAt(row,0));
	  String strimei=(String)tabShow.getValueAt(row,1);
	  String strsp=String.valueOf(tabShow.getValueAt(row,2));
	  String strsed=(String)tabShow.getValueAt(row,3);
	  String strucode=(String)tabShow.getValueAt(row,4);
	  String strccode=String.valueOf(tabShow.getValueAt(row,5));
	  String strcots=(String)tabShow.getValueAt(row,6);
	  	
	  txtSellInvoice.setText(strsei.trim());
	  txtImei.setText(strimei.trim());
	  txtSellPrice.setText(strsp.trim());
	  txtSellDate.setText(strsed.trim());
	  txtUserCode.setText(strucode.trim());
	  txtCustomerCode.setText(strccode.trim());
	  if(strcots==null)
	  {
	  	teaContents.setText(strcots);
	  }
	  else
	  {
	  	teaContents.setText(strcots.trim());
	  }
	}
	/* 执行操作前对数据进行验证*/
	public boolean operationBeforeCheck()
	{
		int strsei=0;
		double strsp=0;
		try
		{
		  	strsei=Integer.parseInt(txtSellInvoice.getText().trim());
		  	strsp=Double.parseDouble(txtSellPrice.getText().trim());
		}
		catch(NumberFormatException ne)
		{
		  	JOptionPane.showMessageDialog(null,"请输入数字","提示",JOptionPane.INFORMATION_MESSAGE);
		  	return false;
		}
		String strimei=txtImei.getText().trim();
		String strsed=txtSellDate.getText().trim();
		String strucode=txtUserCode.getText().trim();
		int strccode=0;
		try
		{
			strccode=Integer.parseInt(txtCustomerCode.getText().trim());
		}
		catch(NumberFormatException ne)
		{
		  	JOptionPane.showMessageDialog(null,"请输入4位以内整数","提示",JOptionPane.INFORMATION_MESSAGE);
		  	return false;
		}
		String strcots=teaContents.getText().trim();
		
		if(strcots.equals(""))
		{
			strcots=null;	
		}
		
		sed.setSellInvoice(strsei);
		sed.setImei(strimei);
		sed.setSellPrice(strsp);
		sed.setSellDate(strsed);
		sed.setUserCode(strucode);
		sed.setCustomerCode(strccode);
		sed.setContents(strcots);
		
		if(strsei==0||strimei.length()==0||strsp==0||strsed.length()==0||strucode.length()==0||strccode==0)
		{
			JOptionPane.showMessageDialog(null,"带*号的必填,请填写完整","提示",JOptionPane.INFORMATION_MESSAGE);
			return false;
		}
		else if(strsei>9999&&strsei<0)
		{
		  	JOptionPane.showMessageDialog(null,"请输入4位以内整数","提示",JOptionPane.INFORMATION_MESSAGE);
		  	txtSellInvoice.setText("");
	 		txtSellInvoice.requestFocus();
	 		return false;
		}
		else if(!(check.checkPrimary("productsTel","手机串号",strimei)))
		{
			JOptionPane.showMessageDialog(null,"无此手机信息","提示",JOptionPane.INFORMATION_MESSAGE);
		  	txtImei.setText("");
	 		txtImei.requestFocus();
	 		return false;
		}
		else if(strsp<0)
		{
			JOptionPane.showMessageDialog(null,"请输入8位以内数字","提示",JOptionPane.INFORMATION_MESSAGE);
		  	txtSellPrice.setText("");
	 		txtSellPrice.requestFocus();
	 		return false;
		}
		else if(!check.checkDate(strsed))
		{
		  	JOptionPane.showMessageDialog(null,"请输入准确的,如1996-02-03格式的日期","提示",JOptionPane.INFORMATION_MESSAGE);
		  	txtSellDate.setText("");
	 		txtSellDate.requestFocus();
	 		return false;
		}
		else if(!(check.checkPrimary("users","工号",strucode)))
		{
			JOptionPane.showMessageDialog(null,"无此员工信息","提示",JOptionPane.INFORMATION_MESSAGE);
		  	txtUserCode.setText("");
	 		txtUserCode.requestFocus();
	 		return false;
		}
		else if(!(check.checkPrimary("customers","顾客编号",strccode)))
		{
			JOptionPane.showMessageDialog(null,"无此顾客信息","提示",JOptionPane.INFORMATION_MESSAGE);
		  	txtCustomerCode.setText("");
	 		txtCustomerCode.requestFocus();
	 		return false;	
		}
		else if(!check.checkTelWhetherExist("未卖",strimei))
		{
			JOptionPane.showMessageDialog(null,"手机已售出","提示",JOptionPane.INFORMATION_MESSAGE);
		  	txtImei.setText("");
	 		txtImei.requestFocus();
	 		return false;	
		}
		else if(strcots!=null&&strcots.length()>25)
		{
		  	JOptionPane.showMessageDialog(null,"字数过长","提示",JOptionPane.INFORMATION_MESSAGE);
		  	teaContents.setText("");
	 		teaContents.requestFocus();
	 		return false;			
		}
		else
		{
			return true;
		}
	}
	/*得到一行加入模型中的数据*/
	public Vector dataVector()
	{
	  	Vector vd=new Vector();
		vd.add(sed.getSellInvoice());
		vd.add(sed.getImei());
		vd.add(sed.getSellPrice());
		vd.add(sed.getSellDate());
		vd.add(sed.getUserCode());
		vd.add(sed.getCustomerCode());
		vd.add(sed.getContents());
		return vd;
	}
	/*修改表模型中的数据*/
	public void changeRowData()
	{
	  	tabShow.setValueAt(sed.getSellInvoice(),row,0);
	  	tabShow.setValueAt(sed.getImei(),row,1);
	  	tabShow.setValueAt(sed.getSellPrice(),row,2);
	  	tabShow.setValueAt(sed.getSellDate(),row,3);
	  	tabShow.setValueAt(sed.getUserCode(),row,4);
	  	tabShow.setValueAt(sed.getCustomerCode(),row,5);
	  	tabShow.setValueAt(sed.getContents(),row,6);
	}
}

⌨️ 快捷键说明

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