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

📄 productsteldialog.java

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

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

public class ProductsTelDialog extends JDialog implements ActionListener,MouseListener
{   
    ProductsTelData pd=new ProductsTelData();
    Check check=new Check(); 
    String[] sryState={"已卖","退回","换回","未卖"};
    private JLabel labImei,labMsnSn,labColor,labMode,labState,labSupplierBrief;
    private JTextField txtImei,txtMsnSn,txtColor,txtMode,txtSupplierBrief;
    private JButton btnInsert,btnUpdate,btnDelete;
    private JComboBox comState;
    private JScrollPane scop;
	private JTable tabShow;
	private DefaultTableModel dtm;
	private int row=0;
	
	static 
	{
   	 	//设置窗体为豪华框架
   		JDialog.setDefaultLookAndFeelDecorated(true);		
	}
     
    public ProductsTelDialog(MainFrame owner,boolean bo)
	{
		super(owner,bo);
		labImei = new JLabel("*手机串号");
		txtImei = new JTextField();
		labMsnSn = new JLabel("*品牌");
		txtMsnSn = new JTextField();
		labColor = new JLabel("*颜色");
		txtColor = new JTextField();
		labMode = new JLabel("*型号"); 
		txtMode = new JTextField();
		labState = new JLabel("*状态");
		comState = new JComboBox(sryState);
		labSupplierBrief = new JLabel("*供贷商代码");
		txtSupplierBrief = new JTextField();
		btnInsert = new JButton("插入");
  		btnUpdate = new JButton("修改");
  		btnDelete = new JButton("删除");
  		scop = new JScrollPane();
  		tabShow = new JTable();
		
        labImei.setBounds(new Rectangle(12, 16, 73, 14));
    	txtImei.setBounds(new Rectangle(82, 16, 121, 23));
    	labMsnSn.setBounds(new Rectangle(12, 49, 73, 14));
    	txtMsnSn.setBounds(new Rectangle(82, 49, 121, 23));
    	labMode.setBounds(new Rectangle(12, 82, 73, 14));
    	txtMode.setBounds(new Rectangle(82, 82, 121, 23));
 		labState.setBounds(new Rectangle(254, 18, 73, 14));
    	comState.setBounds(new Rectangle(330, 18, 121, 23));
    	labColor.setBounds(new Rectangle(254, 49, 73, 14));
    	txtColor.setBounds(new Rectangle(330, 49, 121, 23));
    	labSupplierBrief.setBounds(new Rectangle(254, 82, 73, 14));
    	txtSupplierBrief.setBounds(new Rectangle(330, 82, 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(labImei);
        me.add(txtImei);
        me.add(labMsnSn);
        me.add(txtMsnSn);
        me.add(labMode);
   	 	me.add(txtMode);
   	 	me.add(labState);
    	me.add(comState);
    	me.add(labColor);
    	me.add(txtColor);
    	me.add(labSupplierBrief);
    	me.add(txtSupplierBrief);
    	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("productsTel"),datao.getColumnNamesByTabname("productsTel"));
        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 pae)
	{
	  	String strbtn=pae.getActionCommand();
		
		if(strbtn.equals("Insert"))
		{
			String strimei=txtImei.getText().trim();
			if(check.checkPrimary("productsTel","手机串号",strimei))
			{
				JOptionPane.showMessageDialog(null,"该手机串号已存在","提示",JOptionPane.INFORMATION_MESSAGE);
			  	txtImei.setText("");
		 		txtImei.requestFocus();
			}
			else if(operationBeforeCheck())
			{
				InsertData ind =new InsertData();
				Vector vid =dataVector();
				if(ind.ProductsTelInsert(pd))
			  	{
			  		JOptionPane.showMessageDialog(null,"成功插入一行数据","提示",JOptionPane.INFORMATION_MESSAGE);
			  		dtm.addRow(vid);//添加一行到模型的结尾	
			  	}
			  	else
			  	{
			  		JOptionPane.showMessageDialog(null,"数据插入失败","提示",JOptionPane.INFORMATION_MESSAGE);	
			  	}
			}
		}
		else if(strbtn.equals("Update"))
		{
			String strimei1=tabShow.getValueAt(row,0).toString().trim();
			String strimei=txtImei.getText().trim();
			if(!strimei.equals(strimei1))
			{
				if(check.checkPrimary("sellTel","手机串号",strimei1)||check.checkPrimary("changeTel","换出的手机串号",strimei1))
				{
					JOptionPane.showMessageDialog(null,"该手机串号被销售信息表和调换信息表引用,禁止更改","提示",JOptionPane.INFORMATION_MESSAGE);
				  	txtImei.setText(strimei1);
				}
				else if(check.checkUpdataAfterUnique("productsTel","手机串号",strimei,strimei1))
				{
					JOptionPane.showMessageDialog(null,"该手机串号已存在,无法修改","提示",JOptionPane.INFORMATION_MESSAGE);
				  	txtImei.setText(strimei1);
			 		txtImei.requestFocus();
				}
			}
			else if(operationBeforeCheck())
			{
				UpdateData upd=new UpdateData();
					
				if(upd.productstelUpdate(pd,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,0).toString().trim();
			DeleteData ded=new DeleteData();
			if(check.checkPrimary("sellTel","手机串号",strimeid)||check.checkPrimary("changeTel","换出的手机串号",strimeid))
			{
				JOptionPane.showMessageDialog(null,"该手机串号被销售信息表和调换信息表引用,请先删除或修改其他表中相关数据","提示",JOptionPane.INFORMATION_MESSAGE);
			}
			else
			{
				if(ded.deleteDate("productsTel","手机串号",strimeid))
				{
					JOptionPane.showMessageDialog(null,"成功删除一行数据","提示",JOptionPane.INFORMATION_MESSAGE);
					dtm.removeRow(row);//移除模型中 row 位置的行
				}
				else
				{
					JOptionPane.showMessageDialog(null,"数据删除失败","提示",JOptionPane.INFORMATION_MESSAGE);
				}	
			}
		}
		txtImei.setText("");
		txtMsnSn.setText("");
		txtColor.setText("");
		txtMode.setText("");
		txtSupplierBrief.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 strimei=(String)tabShow.getValueAt(row,0);
	  String strms=(String)tabShow.getValueAt(row,1);
	  String strcol=(String)tabShow.getValueAt(row,2);
	  String strmod=(String)tabShow.getValueAt(row,3);
	  String strsta=(String)tabShow.getValueAt(row,4);
	  String strsub=(String)tabShow.getValueAt(row,5);
	  	
	  txtImei.setText(strimei.trim());
	  txtMsnSn.setText(strms.trim());
	  txtColor.setText(strcol.trim());
	  txtMode.setText(strmod.trim());
	  comState.setSelectedItem(strsta.trim());
	  txtSupplierBrief.setText(strsub.trim());
	  	
	}
	/* 执行操作前对数据进行验证*/
	public boolean operationBeforeCheck()
	{
		Check check=new Check();
		
		String strimei=txtImei.getText().trim();
		String strms=txtMsnSn.getText().trim();
		String strcol=txtColor.getText().trim();
		String strmod=txtMode.getText().trim();
		String strsta=(String)(comState.getSelectedItem());
		String strsub=txtSupplierBrief.getText().trim();
		
		pd.setImei(strimei);
		pd.setMsn(strms);
		pd.setColor(strcol);
		pd.setModel(strmod);
		pd.setState(strsta);
		pd.setSupplierBrief(strsub);
		
		if(strimei.length()==0||strms.length()==0||strcol.length()==0||strmod.length()==0||strsub.length()==0)
		{
			JOptionPane.showMessageDialog(null,"带*号的必填,请填写完整","提示",JOptionPane.INFORMATION_MESSAGE);
			return false;
		}
		else if(strimei.length()>20)
		{
			JOptionPane.showMessageDialog(null,"请填写20位以内IMEI","提示",JOptionPane.INFORMATION_MESSAGE);
		  	txtImei.setText("");
	 		txtImei.requestFocus();
	 		return false;
		}
		else if(!(check.checkImeiAndlabSupplierBrief(strimei,strsub)))
		{
			JOptionPane.showMessageDialog(null,"与进货信息表不同","提示",JOptionPane.INFORMATION_MESSAGE);
		  	txtSupplierBrief.setText("");
	 		txtSupplierBrief.requestFocus();
	 		return false;	
		}
		else if(!(check.checkPrimary("stockTel","手机串号",strimei)))
		{
			JOptionPane.showMessageDialog(null,"没进此手机","提示",JOptionPane.INFORMATION_MESSAGE);
		  	txtImei.setText("");
	 		txtImei.requestFocus();
	 		return false;
		}
		else if(check.checkPrimary("backTel","手机串号",strimei)&&(!strsta.equals("退回")))
		{
			JOptionPane.showMessageDialog(null,"此手机已退回","提示",JOptionPane.INFORMATION_MESSAGE);
			return false;
		}
		else if(check.checkPrimary("changeTel","换回的手机串号",strimei)&&(!strsta.equals("换回")))
		{
			JOptionPane.showMessageDialog(null,"此手机已换回","提示",JOptionPane.INFORMATION_MESSAGE);
			return false;
		}
		else if(check.checkPrimary("sellTel","手机串号",strimei)&&(!strsta.equals("已卖")))
		{
			JOptionPane.showMessageDialog(null,"此手机已卖出","提示",JOptionPane.INFORMATION_MESSAGE);
			return false;
		}
		else if(check.checkPrimary("changeTel","换出的手机串号",strimei)&&(!strsta.equals("已卖")))
		{
			JOptionPane.showMessageDialog(null,"此手机已卖出","提示",JOptionPane.INFORMATION_MESSAGE);
			return false;
		}
		else
		{
			return true;
		}	
	}
	/*得到一行加入模型中的数据*/
	public Vector dataVector()
	{
	  	Vector vd=new Vector();
	  	vd.add(pd.getImei());
		vd.add(pd.getMsn());
		vd.add(pd.getColor());
		vd.add(pd.getmModel());
		vd.add(pd.getState());
		vd.add(pd.getSupplierBrief());
	  	return vd;
	}
	/*修改表模型中的数据*/
	public void changeRowData()
	{
	  	tabShow.setValueAt(pd.getImei(),row,0);
	  	tabShow.setValueAt(pd.getMsn(),row,1);
	  	tabShow.setValueAt(pd.getColor(),row,2);
	  	tabShow.setValueAt(pd.getmModel(),row,3);
	  	tabShow.setValueAt(pd.getState(),row,4);
	  	tabShow.setValueAt(pd.getSupplierBrief(),row,5);
	}
}

⌨️ 快捷键说明

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