📄 tushuchaxun.java
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
import javax.swing.table.*;
import java.util.Vector;
public class TushuChaxun extends JFrame implements ActionListener{
ShuJuKu db=new ShuJuKu();
ResultSet rs;
JPanel p1,p2,p3,p4,p5;
JLabel label;
JRadioButton rb[];
String rbnames[]={"图书编号","书名","图书作者","出版社","字数","责任编辑","主题分类","借阅分类","总册数","库存量"},bnames[]={"查询按钮","借阅或修改","删除按钮"},chaxun;
ButtonGroup radioGroup;
JTextField field;
JTable table=null;
DefaultTableModel defaultModel=null;
JButton buttons[];
public TushuChaxun(){
super("图书查询与借阅");
label=new JLabel("查询条件:");
field=new JTextField(15);
p1=new JPanel();
p1.add(label);
p1.add(field);
p2=new JPanel();
radioGroup=new ButtonGroup();
rb=new JRadioButton[10];
for(int i=0;i<10;i++){
rb[i]=new JRadioButton(rbnames[i],false);
radioGroup.add(rb[i]);
p2.add(rb[i]);
}
rb[0].setSelected(true);
p3=new JPanel();
p3.setLayout(new GridLayout(2,1,0,0));
p3.add(p1);
p3.add(p2);
p4=new JPanel();
String[] name={"图书编号","书名","图书作者","出版社","字数","责任编辑","主题分类","借阅分类","总册数","库存量","备注"};
String[][] data=new String[0][0];
defaultModel=new DefaultTableModel(data,name);
table=new JTable(defaultModel);
table.setPreferredScrollableViewportSize(new Dimension(800,100));
JScrollPane s=new JScrollPane(table);
p4.add(s);
p5=new JPanel();
buttons=new JButton[3];
for(int i=0;i<3;i++){
buttons[i]=new JButton(bnames[i]);
buttons[i].addActionListener(this);
p5.add(buttons[i]);
}
Container c=getContentPane();
c.add(p3,BorderLayout.NORTH);
c.add(p4,BorderLayout.CENTER);
c.add(p5,BorderLayout.SOUTH);;
}
public void actionPerformed(ActionEvent e){
//--查询按钮功能--
if(e.getSource()==buttons[0]){
if(rb[0].isSelected())chaxun="tushuhao";
else if(rb[1].isSelected())chaxun="tushuming";
else if(rb[2].isSelected())chaxun="zuozhe";
else if(rb[3].isSelected())chaxun="chubansheming";
else if(rb[4].isSelected())chaxun="zishu";
else if(rb[5].isSelected())chaxun="zerenbianji";
else if(rb[6].isSelected())chaxun="zhutifenlei";
else if(rb[7].isSelected())chaxun="jieyuefenlei";
else if(rb[8].isSelected())chaxun="zongceshu";
else if(rb[9].isSelected())chaxun="kucunliang";
if(e.getSource()==buttons[0]){
String strSQL;
strSQL="select tushuhao,tushuming,zuozhe,chubansheming,zishu,zerenbianji,zhutifenlei,jieyuefenlei,zongceshu,kucunliang,tushujianjie From tushuxinxi where "+chaxun+" like '"+field.getText()+"%'";
try{
//首先要删除table中的数据先:
int rowCount=defaultModel.getRowCount()-1;//取得table中的数据行;
int j=rowCount;
for(int i=0;i<=rowCount;i++){
defaultModel.removeRow(j); //删除rowCount行的数据;
defaultModel.setRowCount(j); //重新设置行数;
j=j-1;
}
rs=db.getResult(strSQL);
while(rs.next()){
Vector data=new Vector();
data.addElement(rs.getString(1));
data.addElement(rs.getString(2));
data.addElement(rs.getString(3));
data.addElement(rs.getString(4));
data.addElement(rs.getString(5));
data.addElement(rs.getString(6));
data.addElement(rs.getString(7));
data.addElement(rs.getString(8));
data.addElement(rs.getString(9));
data.addElement(rs.getString(10));
data.addElement(rs.getString(11));
defaultModel.addRow(data);
}
table.revalidate();
} catch(SQLException sqle){
System.out.println(sqle.toString());
}
catch(Exception ex){
System.out.println(ex.toString());
}
}
}
//--修改按钮功能--
else if(e.getSource()==buttons[1]){
if(table.getSelectedRow()==-1){
JOptionPane.showMessageDialog(null,"请选择要修改的行!");
return;
}
String str[]=new String[11];
int row=table.getSelectedRow();
for(int i=0;i<11;i++){
str[i]=(String)table.getValueAt(row,i);
}
TushuTianjia tsset1=new TushuTianjia(2);
Dimension FrameSize=tsset1.getPreferredSize();
Dimension MainFrameSize=getSize();
Point loc=getLocation();
tsset1.setLocation((MainFrameSize.width-FrameSize.width)/2+loc.x,
(MainFrameSize.height-FrameSize.height)/2+loc.y);
for(int i=0;i<10;i++){
tsset1.fields[i].setText(str[i]);
}
tsset1.textArea.setText(str[10]);
tsset1.pack();
tsset1.show();
}
//--删除按钮功能--
else if(e.getSource()==buttons[2]){
int rows[];
rows=new int[table.getSelectedRows().length];
for(int i=0;i<table.getSelectedRows().length;i++){
rows[i]=table.getSelectedRows()[i];
String xno=(String)table.getValueAt(rows[i],0);
String strSql="delete from tushuxinxi where tushuhao='"+xno.trim()+"'";
try{
if(db.updateSql(strSql)) {
JOptionPane.showMessageDialog(null,"删除信息成功!");
this.dispose();
}
else{
JOptionPane.showMessageDialog(null,"添加信息失败请认真填写各项信息!");
this.dispose();
}
}catch(Exception ex){
System.out.println(ex.toString());
}
}
db.closeConnection();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -