📄 duzhechaxunframe.java
字号:
//读者查询与修改
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
import javax.swing.table.*;
import java.util.Vector;
public class DuZheChaXunFrame 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 DuZheChaXunFrame(){
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[7];
for(int i=0;i<7;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(600,80));
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="duzhehao";
else if(rb[1].isSelected())chaxun="duzhename";
else if(rb[2].isSelected())chaxun="duzheyouxiang";
else if(rb[3].isSelected())chaxun="duzheyuanxi";
else if(rb[4].isSelected())chaxun="jieyueshumu";
else if(rb[5].isSelected())chaxun="duzheleibie";
else if(rb[6].isSelected())chaxun="duzhemima";
else if(rb[7].isSelected())chaxun="duzhebeizhu";
if(e.getSource()==buttons[0]){
String strSQL;
strSQL="select duzhehao,duzhename,duzheyouxiang,duzheyuanxi,jieyueshumu,duzheleibie,duzhemima,duzhebeizhu From duzhexinxi 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));
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[8];
int row=table.getSelectedRow();
for(int i=0;i<7;i++){
str[i]=(String)table.getValueAt(row,i);
}
DuZheSheZhiFrame dzszFrame=new DuZheSheZhiFrame(DuZheSheZhiFrame.TO_UPDATE);
Dimension FrameSize=dzszFrame.getPreferredSize();//设定窗口位置
Dimension MainFrameSize=getSize();
Point loc=getLocation();
dzszFrame.setLocation((MainFrameSize.width-FrameSize.width)/2+loc.x,
(MainFrameSize.height-FrameSize.height)/2+loc.y);
for(int i=0;i<7;i++){
dzszFrame.fields[i].setText(str[i]);
}
dzszFrame.dangqianduzhe=str[0];
dzszFrame.fields[0].setEnabled(false);
dzszFrame.textArea.setText(str[7]);
dzszFrame.pack();
dzszFrame.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 duzhexinxi where duzhehao='"+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 + -