📄 addorchangereaderframe.java
字号:
//添加和修改读者窗口
import java.awt.*;
import java.net.URL;
import java.sql.*;
import java.awt.event.*;
import javax.swing.*;
public class AddOrChangeReaderFrame extends JFrame implements ActionListener{
static final long serialVersionUID=80;
JTextField card,name,phone,address;
JComboBox sex,type;
JButton add,cancel,clear;
JLabel cardlabel,namelabel,phonelabel,addresslabel,sexlabel,typelabel;
Container container;
Dimension screenSize;
Toolkit tool;
boolean select;
Connection con;
PreparedStatement sql;
Statement changesql;
Image myimage;
Object result[][];
Object temp[][];
int id;
JTable table;
String[] sextype={"男","女"};
String[] membertype={"Common","Gold","Silver","Cuprum"};
AddOrChangeReaderFrame(String title,boolean select,Connection con,Object[][] result,JTable table){
super(title);
this.select=select;
this.con=con;
container=getContentPane();
container.setBackground(Color.ORANGE);
container.setLayout(null);
setSize(240,240);
setResizable(false);
tool=getToolkit();
URL url=getClass().getResource("/images/reader.gif");
if(url!=null){
myimage=tool.getImage(url);
setIconImage(myimage);
}
screenSize=tool.getScreenSize();
card=new JTextField(12);
name=new JTextField(12);
phone=new JTextField(12);
address=new JTextField(12);
sex=new JComboBox(sextype);
type=new JComboBox(membertype);
type.setSize(1,1);
if(select){
String queue="INSERT INTO Reader_Info VALUES (?,?,?,?,?,?,?,?)";
try{
sql=con.prepareStatement(queue);
}
catch(SQLException e1){
JOptionPane.showMessageDialog(this,"计算机已与服务器断开");
}
add=new JButton("登记");
}
else{
try{
changesql=con.createStatement();
}
catch(SQLException e2){
JOptionPane.showMessageDialog(this,"计算机已与服务器断开");
}
add=new JButton("修改");
this.result=result;
this.table=table;
id=table.getSelectedRow();
temp=(Object[][])result.clone();
card.setText("不填即是不修改");
name.setText("填null可删除读者的此项信息");
}
cancel=new JButton("取消");
clear=new JButton("清除");
add.addActionListener(this);
cancel.addActionListener(this);
clear.addActionListener(this);
cardlabel=new JLabel("卡号");
namelabel=new JLabel("姓名");
phonelabel=new JLabel("电话");
addresslabel=new JLabel("地址");
sexlabel=new JLabel("性别");
typelabel=new JLabel("类型");
container.add(cardlabel);
cardlabel.setBounds(10,10,30,30);
container.add(card);
card.setBounds(40,14,180,22);
container.add(namelabel);
namelabel.setBounds(10,40,30,30);
container.add(name);
name.setBounds(40,44,180,22);
container.add(phonelabel);
phonelabel.setBounds(10,70,30,30);
container.add(phone);
phone.setBounds(40,74,180,22);
container.add(addresslabel);
addresslabel.setBounds(10,100,30,30);
container.add(address);
address.setBounds(40,104,180,22);
container.add(sexlabel);
sexlabel.setBounds(10,130,30,30);
container.add(sex);
sex.setBounds(40,134,70,26);
container.add(typelabel);
typelabel.setBounds(115,130,30,30);
container.add(type);
type.setBounds(150,134,70,26);
container.add(add);
add.setBounds(20,170,60,30);
container.add(clear);
clear.setBounds(90,170,60,30);
container.add(cancel);
cancel.setBounds(160,170,60,30);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
if(sql!=null){
try{
sql.close();
}
catch(SQLException e2){
JOptionPane.showMessageDialog(null,"计算机已与服务器");
}
}
if(changesql!=null){
try{
changesql.close();
}
catch(SQLException e2){
JOptionPane.showMessageDialog(null,"计算机已与服务器");
}
}
dispose();
}
});
setLocation((screenSize.width - this.getSize().width) / 2,(screenSize.height - this.getSize().height) / 2);
setVisible(true);
validate();
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==add){
String cardtemp=card.getText();
String readtemp=name.getText();
String sextemp=sex.getSelectedItem().toString();
String typetemp=type.getSelectedItem().toString();
String date=new Timestamp(System.currentTimeMillis()).toString();
String phonetemp=phone.getText();
String addresstemp=address.getText();
if(select){
if(cardtemp.length()!=0&&readtemp.length()!=0){
if(cardtemp.length()<=10&&readtemp.length()<=10&&phonetemp.length()<=30&&addresstemp.length()<=20){
try{
sql.setString(1,cardtemp);
sql.setString(2,readtemp);
sql.setString(3,sextemp);
sql.setString(4,date);
sql.setString(5,typetemp);
sql.setString(6,phonetemp);
sql.setString(7,addresstemp);
sql.setInt(8,0);
int n=sql.executeUpdate();
if(n==1){
JOptionPane.showMessageDialog(this,"登记成功");
}
else{
JOptionPane.showMessageDialog(this,"登记失败");
}
sql.clearParameters();
}
catch(SQLException e2){
JOptionPane.showMessageDialog(this,"已存在此读者");
}
}
else{
JOptionPane.showMessageDialog(this,"卡号,姓名的长度不能超过10,电话,地址长度超过30","警告对话框",JOptionPane.WARNING_MESSAGE);
return;
}
}
else{
JOptionPane.showMessageDialog(this,"卡号,姓名不能为空!","警告对话框",JOptionPane.WARNING_MESSAGE);
}
}
else{
int p=0;
if(readtemp.equals("null")){
JOptionPane.showMessageDialog(this,"姓名不能为空","警告对话框",JOptionPane.WARNING_MESSAGE);
return;
}
if(cardtemp.length()!=0){
JOptionPane.showMessageDialog(this,"卡号不能修改","警告对话框",JOptionPane.WARNING_MESSAGE);
return;
}
if(cardtemp.length()<=10&&readtemp.length()<=10&&phonetemp.length()<=30&&addresstemp.length()<=20){
String changereader="UPDATE Reader_Info SET ";
if(readtemp.length()!=0){
changereader+="Name = "+"'"+readtemp+"',";
result[id][1]=readtemp;
}
if(phonetemp.length()!=0){
if(phonetemp.equals("null")){
changereader+="Phone = "+null+",";
result[id][5]=null;
}
else{
changereader+="Phone = "+"'"+phonetemp+"',";
result[id][5]=phonetemp;
}
}
if(addresstemp.length()!=0){
if(addresstemp.equals("null")){
changereader+="Address = "+null+",";
result[id][6]=null;
}
else{
changereader+="Address = "+"'"+addresstemp+"',";
result[id][6]=addresstemp;
}
}
changereader+="SEX = "+"'"+sextemp+"',";
result[id][2]=sextemp;
changereader+="ReaderType = "+"'"+typetemp+"'"+" WHERE ReaderCardID = "+"'"+result[id][0]+"'";
result[id][4]=typetemp;
if(changereader.length()!=23){
try{
p=changesql.executeUpdate(changereader);
if(p==1){
JOptionPane.showMessageDialog(this,"修改成功");
}
else{
JOptionPane.showMessageDialog(this,"修改失败");
result=temp;
return;
}
}
catch(SQLException e2){
JOptionPane.showMessageDialog(this,"计算机已与服务器断开");
}
table.repaint();
}
}
else{
JOptionPane.showMessageDialog(this,"卡号,姓名长度不能超过10,电话,地址长度分别不能超过30,20","警告对话框",JOptionPane.WARNING_MESSAGE);
}
}
}
else if(e.getSource()==clear){
card.setText(null);
name.setText(null);
phone.setText(null);
address.setText(null);
}
else{
if(sql!=null){
try{
sql.close();
}
catch(SQLException e2){
JOptionPane.showMessageDialog(this,"计算机已与服务器");
}
}
if(changesql!=null){
try{
changesql.close();
}
catch(SQLException e2){
JOptionPane.showMessageDialog(this,"计算机已与服务器");
}
}
dispose();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -