📄 changeteldialog.java
字号:
/**
* 源文件:ChangeTelDialog.java
* 作用:调换信息窗体
*/
package mypro;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
import java.util.*;
public class ChangeTelDialog extends JDialog implements ActionListener,MouseListener
{
ChangeTelData chd=new ChangeTelData();
Check check=new Check();
private JLabel labChangeInvoice,labOldImei,labNewImei,labChangDate,labUserCode,labReason;
private JTextField txtChangeInvoice,txtOldImei,txtNewImei,txtChangDate,txtUserCode;
private JButton btnInsert,btnDelete;
private JTextArea teaReason;
private JScrollPane scop, scop1;
private JTable tabShow;
DefaultTableModel dtm;//定义表模型
private int row=0;
static
{
//设置窗体为豪华框架
JDialog.setDefaultLookAndFeelDecorated(true);
}
public ChangeTelDialog(MainFrame owner,boolean bo)
{
super(owner,bo);
labChangeInvoice = new JLabel("*调换单号");
txtChangeInvoice = new JTextField();
labOldImei = new JLabel("*换回的手机串号");
txtOldImei = new JTextField();
labNewImei = new JLabel("*换出的手机串号");
txtNewImei = new JTextField();
labChangDate = new JLabel("*调换日期");
txtChangDate = new JTextField();
labUserCode = new JLabel("*工号");
txtUserCode = new JTextField();
labReason = new JLabel("*退机原因");
teaReason = new JTextArea();
btnInsert = new JButton("插入");
btnDelete = new JButton("删除");
scop = new JScrollPane();
scop1 = new JScrollPane();
tabShow = new JTable();
labChangeInvoice.setBounds(new Rectangle(12, 16, 106, 14));
txtChangeInvoice.setBounds(new Rectangle(121, 16, 121, 23));
labOldImei.setBounds(new Rectangle(12, 49, 106, 14));
txtOldImei.setBounds(new Rectangle(121, 49, 121, 23));
labNewImei.setBounds(new Rectangle(12, 82, 106, 14));
txtNewImei.setBounds(new Rectangle(121, 82, 121, 23));
labChangDate.setBounds(new Rectangle(278, 18, 73, 14));
txtChangDate.setBounds(new Rectangle(355, 18, 121, 23));
labUserCode.setBounds(new Rectangle(278, 49, 73, 14));
txtUserCode.setBounds(new Rectangle(355, 49, 121, 23));
labReason.setBounds(new Rectangle(278, 82, 73, 14));
scop1.setBounds(new Rectangle(355, 82, 121, 55));
btnInsert.setBounds(new Rectangle(100, 148, 89, 28));
btnInsert.setActionCommand("Insert");
btnInsert.setToolTipText("插入新的调换信息");
btnDelete.setBounds(new Rectangle(270, 148, 89, 28));
btnDelete.setActionCommand("Delete");
btnDelete.setToolTipText("删除调换信息");
scop.setBounds(new Rectangle(12, 190, 462, 98));
btnInsert.addActionListener(this);
btnDelete.addActionListener(this);
tabShow.addMouseListener(this);
Container me=this.getContentPane();
me.setLayout(null);
me.add(labChangeInvoice);
me.add(txtChangeInvoice);
me.add(labOldImei);
me.add(txtOldImei);
me.add(labNewImei);
me.add(txtNewImei);
me.add(labChangDate);
me.add(txtChangDate);
me.add(labUserCode);
me.add(txtUserCode);
me.add(labReason);
me.add(btnInsert);
me.add(btnDelete);
me.add(scop);
me.add(scop1);
scop1.getViewport().add(teaReason);
scop.getViewport().add(tabShow);
DatabaseOperate datao = new DatabaseOperate();
dtm = new DefaultTableModel(datao.getDataByTabname("changeTel"),datao.getColumnNamesByTabname("changeTel"));
tabShow.setModel(dtm);//通过dtm模型构造表
tabShow.setAutoResizeMode(tabShow.AUTO_RESIZE_OFF);//当调整表的大小时,设置表的自动调整模式为不自动调整列的宽度;使用滚动条
this.setTitle("调换信息");
this.setSize(500,400);
this.setLocationRelativeTo(this);
this.setResizable(false);
this.setVisible(true);
}
public void actionPerformed(ActionEvent chae)
{
String strbtn=chae.getActionCommand();
if(strbtn.equals("Insert"))
{
int strchi=0;
try
{
strchi=Integer.parseInt(txtChangeInvoice.getText().trim());
}
catch(NumberFormatException ne)
{
JOptionPane.showMessageDialog(null,"请输入4位以内整数","提示",JOptionPane.INFORMATION_MESSAGE);
}
if(check.checkPrimary("changeTel","调换单号",strchi))
{
JOptionPane.showMessageDialog(null,"该调换单号已存在","提示",JOptionPane.INFORMATION_MESSAGE);
txtChangeInvoice.setText("");
txtChangeInvoice.requestFocus();
}
else if(operationBeforeCheck())
{
InsertData ind =new InsertData();
Vector vid = new Vector();
vid.add(chd.getChangeInvoice());
vid.add(chd.getOldImei());
vid.add(chd.getNewImei());
vid.add(chd.getChangeDate());
vid.add(chd.getUserCode());
vid.add(chd.getReason());
if(ind.ChangeTelInsert(chd))
{
JOptionPane.showMessageDialog(null,"成功插入一行数据,请修改手机状态信息","提示",JOptionPane.INFORMATION_MESSAGE);
dtm.addRow(vid);//添加一行到模型的结尾
new SellTelDialog(null,true);
}
else
{
JOptionPane.showMessageDialog(null,"数据插入失败","提示",JOptionPane.INFORMATION_MESSAGE);
}
}
}
else if(strbtn.equals("Delete"))
{
Integer n=(Integer)tabShow.getValueAt(row,0);
int strchi=n.intValue();
DeleteData ded=new DeleteData();
if(ded.deleteDate("changeTel","调换单号",strchi))
{
JOptionPane.showMessageDialog(null,"成功删除一行数据","提示",JOptionPane.INFORMATION_MESSAGE);
dtm.removeRow(row);//移除模型中 row 位置的行。
}
else
{
JOptionPane.showMessageDialog(null,"数据删除失败","提示",JOptionPane.INFORMATION_MESSAGE);
}
}
txtChangeInvoice.setText("");
txtOldImei.setText("");
txtNewImei.setText("");
txtChangDate.setText("");
txtUserCode.setText("");
teaReason.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 strchi=String.valueOf(tabShow.getValueAt(row,0));
String stroimei=(String)tabShow.getValueAt(row,1);
String strnimei=(String)tabShow.getValueAt(row,2);
String strchanged=(String)tabShow.getValueAt(row,3);
String strcode=(String)tabShow.getValueAt(row,4);
String strrea=(String)tabShow.getValueAt(row,5);
txtChangeInvoice.setText(strchi.trim());
txtOldImei.setText(stroimei.trim());
txtNewImei.setText(strnimei.trim());
txtChangDate.setText(strchanged.trim());
txtUserCode.setText(strcode.trim());
teaReason.setText(strrea.trim());
}
/* 执行操作前对数据进行验证*/
public boolean operationBeforeCheck()
{
int strchi=0;
try
{
strchi=Integer.parseInt(txtChangeInvoice.getText());
}
catch(NumberFormatException ne)
{
JOptionPane.showMessageDialog(null,"请输入4位以内整数","提示",JOptionPane.INFORMATION_MESSAGE);
return false;
}
String stroimei=txtOldImei.getText().trim();
String strnimei=txtNewImei.getText().trim();
String strchanged=txtChangDate.getText().trim();
String strcode=txtUserCode.getText().trim();
String strrea=teaReason.getText().trim();
chd.setChangeInvoice(strchi);
chd.setOldImei(stroimei);
chd.setNewImei(strnimei);
chd.setChangeDate(strchanged);
chd.setUserCode(strcode);
chd.setReason(strrea);
if(strchi==0||stroimei.length()==0||strnimei.length()==0||strchanged.length()==0||strcode.length()==0||strrea.length()==0)
{
JOptionPane.showMessageDialog(null,"带*号的必填,请填写完整","提示",JOptionPane.INFORMATION_MESSAGE);
return false;
}
else if(strchi>9999&&strchi<0)
{
JOptionPane.showMessageDialog(null,"请输入4位以内整数","提示",JOptionPane.INFORMATION_MESSAGE);
txtChangeInvoice.setText("");
txtChangeInvoice.requestFocus();
return false;
}
else if(!(check.checkPrimary("sellTel","手机串号",stroimei)))
{
JOptionPane.showMessageDialog(null,"手机未售出","提示",JOptionPane.INFORMATION_MESSAGE);
txtOldImei.setText("");
txtOldImei.requestFocus();
return false;
}
else if(!check.checkTelWhetherExist("未卖",strnimei))
{
JOptionPane.showMessageDialog(null,"手机已售出","提示",JOptionPane.INFORMATION_MESSAGE);
txtNewImei.setText("");
txtNewImei.requestFocus();
return false;
}
else if(!check.checkDate(strchanged))
{
JOptionPane.showMessageDialog(null,"请输入准确的,如1996-02-03格式的日期","提示",JOptionPane.INFORMATION_MESSAGE);
txtChangDate.setText("");
txtChangDate.requestFocus();
return false;
}
else if(!(check.checkPrimary("users","工号",strcode)))
{
JOptionPane.showMessageDialog(null,"无此员工信息","提示",JOptionPane.INFORMATION_MESSAGE);
txtUserCode.setText("");
txtUserCode.requestFocus();
return false;
}
else if(strrea.length()>25)
{
JOptionPane.showMessageDialog(null,"字数过长","提示",JOptionPane.INFORMATION_MESSAGE);
teaReason.setText("");
teaReason.requestFocus();
return false;
}
else
{
return true;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -