package com.aowin.listener;
//操作,增删改查
import java.awt.HeadlessException;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import javax.swing.JOptionPane;
import com.aowin.dbconnection.CloseCon;
import com.aowin.dbconnection.GetCon;
import com.aowin.exceptions.NotRightWords;
import com.aowin.exceptions.TooLongInputException;
import com.aowin.pages.Operation;
import com.aowin.pages.ShowResult;
import com.aowin.person.Person;
import com.aowin.tools.CloseDialog;
import com.aowin.tools.TranSex;
public class OperationListener implements ActionListener{
private Operation op;
private ShowResult sr=new ShowResult();
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("确定")&&op.getTitle().equals("添加")){
Person p = null;
GetCon connect=null;
try{
int id=Integer.parseInt(op.getTf1().getText());
String name=op.getTf2().getText();
int sex;
if(op.getBt31().isSelected()){
sex=1;
}else{
sex=0;
}
String department=op.getTf4().getText();
if((!name.matches("[a-z]*||[\u4e00-\u9fa5]*"))||(!department.matches("[a-z]*||[\u4e00-\u9fa5]*"))){
try {
throw new NotRightWords();
} catch (NotRightWords e1) {
CloseDialog.close("请确定:编号及工资为六位正整数,姓名及单位为十位字符!", "添加");
return;
}
}
int salary=0;
if(!"".equals(op.getTf5().getText())){
salary=Integer.parseInt(op.getTf5().getText());
}
if(id<0||id>999999||(!name.matches("[a-z]{0,10}||[\u4e00-\u9fa5]{0,10}"))||(!department.matches("[a-z]{0,10}||[\u4e00-\u9fa5]{0,10}"))||salary<0||salary>999999){
try {
throw new TooLongInputException();
} catch (TooLongInputException e1) {
CloseDialog.close("请确定:编号及工资为六位正整数,姓名及单位为十位字符!", "添加");
return;
}
}
p=new Person(id,name,sex,department,salary);
connect = new GetCon();
String sql="insert into person values(?,?,?,?,?)";
connect.getConnection();
boolean boo=connect.getPrepared(sql, p);
if(boo){
CloseDialog.close("添加成功", "添加");
String[] ss=new String[5];
ss[0]=String.valueOf(p.getId());
ss[1]=String.valueOf(p.getName());
ss[2]=TranSex.iTs(p.getSex());
ss[3]=String.valueOf(p.getDepartment());
ss[4]=String.valueOf(p.getSalary());
op.getMp().getModel().addRow(ss);
}else{
CloseDialog.close("对不起,该ID已存在,请重新输入!", "添加");
}
}catch(NumberFormatException e1){
CloseDialog.close("请确定:编号及工资为六位正整数,姓名及单位为十位字符!", "添加");
}finally{
new CloseCon(connect);
}
}else if(e.getActionCommand().equals("重置")&&op.getTitle().equals("添加")){
op.getTf1().setText("");
op.getTf2().setText("");
op.getG().clearSelection();
op.getTf4().setText("");
op.getTf5().setText("");
}else if(e.getActionCommand().equals("确定")&&op.getTitle().equals("删除提示:输入id即可删除")){
int option=JOptionPane.showConfirmDialog(null,"确定删除?");
int id = 0;
if(option==0){
GetCon connect=null;
try{
String sid=op.getTf1().getText();
id=Integer.parseInt(sid);
connect = new GetCon();
String sql="delete from person where id="+id;
connect.getConnection();
boolean sta = connect.getStatement(sql);
if(sta){
CloseDialog.close("删除成功", "删除");
for(int i=0;i<op.getMp().getModel().getRowCount();i++){
if(sid.equals(op.getMp().getModel().getValueAt(i,0))){
op.getMp().getModel().removeRow(i);
}
}
}else{
CloseDialog.close("删除失败", "删除");
}
}catch(NumberFormatException e1){
CloseDialog.close("输入id有误,删除失败!", "删除");
return;
}finally{
new CloseCon(connect);
}
}
}else if(e.getActionCommand().equals("重置")&&op.getTitle().equals("删除提示:输入id即可删除")){
op.getTf1().setText("");
}else if(e.getActionCommand().equals("确定")&&op.getTitle().equals("修改")){
int option=JOptionPane.showConfirmDialog(null,"确定修改?");
GetCon connect=null;
try{
if(option==0){
int id=Integer.parseInt(op.getTf1().getText());
String name=op.getTf2().getText();
int sex=1;
if(op.getBt31().isSelected()){
sex=1;
}else{
sex=0;
}
String department=op.getTf4().getText();
int salary=0;
if(!"".equals(op.getTf5().getText())){
salary=Integer.parseInt(op.getTf5().getText());
}
if((!name.matches("[a-z]{0,10}||[\u4e00-\u9fa5]{0,10}"))||(!department.matches("[a-z]{0,10}||[\u4e00-\u9fa5]{0,10}"))||salary<0||salary>999999){
try {
throw new TooLongInputException();
} catch (TooLongInputException e1) {
CloseDialog.close("请确定:编号及工资为六位正整数,姓名及单位为十位字符!", "添加");
return;
}
}
Person person=new Person(id,name,sex,department, salary);
connect = new GetCon();
String sql="update person set name=?,sex=?,department=?,salary=? where id=?";
connect.getConnection();
boolean ps = connect.getPrepared(sql, person,1);
if(ps){
CloseDialog.close("修改成功", "修改");
for(int i=0;i<op.getMp().getModel().getRowCount();i++){
String changeId=op.getTf1().getText();
String changeName=op.getTf2().getText();
String changeSex;
if(op.getBt31().isSelected()){
changeSex="男";
}else{
changeSex="女";
}
String changeDep=op.getTf4().getText();
String changeSalary=op.getTf5().getText();
if(op.getTf1().getText().equals(op.getMp().getModel().getValueAt(i,0))){
op.getMp().getModel().setValueAt(changeId, i, 0);
op.getMp().getModel().setValueAt(changeName, i, 1);
op.getMp().getModel().setValueAt(changeSex, i, 2);
op.getMp().getModel().setValueAt(changeDep, i, 3);
op.getMp().getModel().setValueAt(changeSalary, i, 4);
}
}
}else{
CloseDialog.close("修改失败", "修改");
}
}
}catch(NumberFormatException e1){
CloseDialog.close("请确定:编号及工资为六位正整数,姓名及单位为十位字符!", "修改");
return;
}finally{
new CloseCon(connect);
}
}else if(e.getActionCommand().equals("重置")&&op.getTitle().equals("修改")){
op.getTf2().setText("");
op.getBt31().setSelected(true);
op.getTf4().setText("");
op.getTf5().setText("");
}else if(e.getActionCommand().equals("确定")&&op.getTitle().equals("查询")){
if(op.getBt41().isSelected()){ //精确查询
sr.getModel().setRowCount(0);
String sql = null;
String sId=op.getTf1().getText();
String sName=op.getTf2().getText();
int sSex=2;
if(op.getBt31().isSelected()){
sSex=1;
}else if(op.getBt30().isSelected()){
sSex=0;
}
String sDepartment=op.getTf4().getText();
String sSalary=op.getTf5().getText();
int intSalary=0;
boolean f1=sId.equals("");
boolean f2=sName.equals("");
boolean f3=sSex==2;
boolean f4=sDepartment.equals("");
boolean f5=sSalary.equals("");
if(!f5){
try{
intSalary=Integer.parseInt(sSalary);
}catch(NumberFormatException e1){
//e1.printStackTrace();
CloseDialog.close("请确定:编号及工资为六位正整数,姓名及单位为十位字符!", "查询");
return;
}
}
if(!f1){
int selectid;
try{
selectid=Integer.parseInt(sId);
}catch(NumberFormatException e1){
// e1.print
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
PersonManager.rar (36个子文件)
PersonManager
.project 389B
mysql-connector-java-5.1.15-bin.jar 768KB
bin
com
aowin
exceptions
NotRightWords.class 309B
TooLongInputException.class 333B
NotXmlException.class 315B
test
Test.class 430B
listener
MainListener.class 13KB
OperationListener.class 12KB
TableListener.class 3KB
compartors
MyCom.class 1KB
pages
MainPage.class 4KB
Operation.class 4KB
ShowResult.class 2KB
dbconnection
GetCon.class 4KB
CloseCon.class 1KB
person
Person.class 967B
tools
CloseDialog.class 859B
TranSex.class 641B
.settings
org.eclipse.jdt.core.prefs 598B
src
com
aowin
exceptions
TooLongInputException.java 94B
NotXmlException.java 87B
NotRightWords.java 85B
test
Test.java 192B
listener
OperationListener.java 14KB
MainListener.java 14KB
TableListener.java 2KB
compartors
MyCom.java 1KB
pages
MainPage.java 3KB
Operation.java 3KB
ShowResult.java 1KB
dbconnection
GetCon.java 4KB
CloseCon.java 882B
person
Person.java 595B
tools
TranSex.java 268B
CloseDialog.java 226B
.classpath 375B
共 36 条
- 1
资源评论
- loveq20152013-10-16学习下swing 看看到底是什么东西
- ligemao5002352014-03-22这里面的 数据库去哪了呢
- Linyuseng2014-09-30数据库呢。。。。。。。。
jaacer
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功