📄 readermanage.java
字号:
package book;
//读者管理
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import javax.swing.ButtonGroup;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
public class ReaderManage extends Mb implements ItemListener {
private JLabel icon,number, name, sex, address, phone, jnumber, wnumber,
jsnumber, estate, time, remark, type, zhuangtai, chaxun, anumber,
aname, asex, atype;
private JTextField tnumber, tname, tphone, tjnumber, twnumber, tjsnumber,
testate, ttime, ttype, atnumber, atname;
private JTextArea atddress, tremark;
private ButtonIcon xiugai, add, del, save, close, query, cancel;;
private ComboboxFrame com, csex, acom, acsex;
private JRadioButton pt, mh;
private ButtonGroup fruit;
private Table table;
private NowEditableModel dtm;
private JScrollPane scrool, scrool1, scrool2;
private ArrayList List = new ArrayList();
private PreparedStatement pstmt = null;
private boolean bl = true;
ReaderManage(String s, int i, int j) throws SQLException {
super(s, i, j);
con.setLayout(null);
shezhi();
add();
}
void shezhi() throws SQLException {
MainDAO dao = new MainDAO();
dtm = (NowEditableModel) dao.getTableModel("select * from duzheziliao");
table = new Table(dtm);
scrool = new JScrollPane(table);
scrool.setBounds(10, 60, 730, 200);
//鼠标单击JTabel表是返回表的数据
ListSelectionModel rowSM = table.getSelectionModel();
rowSM.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
if (e.getValueIsAdjusting())
return;
ListSelectionModel lsm = (ListSelectionModel) e.getSource();
if (lsm.isSelectionEmpty()) {
System.out.println("No rows are selected.");
} else {
int selectedRow = lsm.getMinSelectionIndex();
List = table.getSelectRow(lsm.getMinSelectionIndex(),table.getColumnCount());
if (!(List.size() == 0)) {
setSelect();
}
System.out.println("Row " + selectedRow
+ " is now selected.");
}
}
});
//读者类别
com = new ComboboxFrame("读者类别");
com.setBounds(60, 360, 120, 18);
com.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
String sr = com.getSelectedItem().toString();
String str = "select 借书天数,借书数量 from duzheleibie where 读者类别='"
+ sr + "'";
MainDAO dao;
try {
dao = new MainDAO();
ResultSet rs = dao.getSelect(str);
rs.next();
tjnumber.setText(rs.getString("借书天数"));
tjsnumber.setText(rs.getString("借书数量"));
} catch (SQLException e1) {
e1.printStackTrace();
showError(e1);
}
}
});
csex = new ComboboxFrame("性别");
csex.setBounds(60, 330, 120, 18);
acsex = new ComboboxFrame("性别");
acsex.addItem("任何性别");
acsex.setSelectedItem("任何性别");
acsex.setEnabled(false);
acsex.setBounds(580, 360, 120, 18);
acom = new ComboboxFrame("读者类别");
acom.addItem("任何类型");
acom.setSelectedItem("任何类型");
acom.setEnabled(false);
acom.setBounds(580, 390, 120, 18);
pt = new JRadioButton("绝对查询");
pt.setBounds(500, 420, 100, 18);
pt.setSelected(true);
pt.addItemListener(this);
mh = new JRadioButton("模糊查询");
mh.setBounds(600, 420, 100, 18);
mh.addItemListener(this);
fruit = new ButtonGroup();
fruit.add(pt);
fruit.add(mh);
setlabel();
settextfield();
setbutton();
}
void setlabel() {
icon=new JLabel(new ImageIcon("./data/image/heard/duzheguanli.jpg"));
icon.setBounds(3,5,730,50);
number = new JLabel("编号:");
number.setBounds(20, 270, 80, 18);
name = new JLabel("姓名:");
name.setBounds(20, 300, 80, 18);
sex = new JLabel("性别:");
sex.setBounds(20, 330, 80, 18);
type = new JLabel("类别:");
type.setBounds(20, 360, 80, 18);
address = new JLabel("住址:");
address.setBounds(20, 390, 80, 18);
phone = new JLabel("电话:");
phone.setBounds(20, 460, 80, 18);
time = new JLabel("登记时间:");
time.setBounds(240, 270, 80, 18);
remark = new JLabel("备注:");
remark.setBounds(240, 300, 80, 18);
estate = new JLabel("状态:");
estate.setBounds(240, 370, 80, 18);
wnumber = new JLabel("借出数量:");
wnumber.setBounds(240, 400, 80, 18);
jnumber = new JLabel("天数上限:");
jnumber.setBounds(240, 430, 80, 18);
jsnumber = new JLabel("数量上限:");
jsnumber.setBounds(240, 460, 80, 18);
chaxun = new JLabel("读者查询:");
chaxun.setBounds(500, 270, 80, 18);
anumber = new JLabel("按读者编号:");
anumber.setBounds(500, 300, 80, 18);
aname = new JLabel("按读者姓名:");
aname.setBounds(500, 330, 80, 18);
asex = new JLabel("按读者性别:");
asex.setBounds(500, 360, 80, 18);
atype = new JLabel("按读者类型:");
atype.setBounds(500, 390, 80, 18);
}
void settextfield() {
tnumber = new JTextField();
tnumber.setEnabled(false);
tnumber.setBounds(60, 270, 120, 18);
tname = new JTextField();
tname.setBounds(60, 300, 120, 18);
ttype = new JTextField();
ttype.setBounds(60, 360, 120, 18);
atddress = new JTextArea();
scrool1 = new JScrollPane(atddress);
scrool1.setBounds(60, 390, 120, 60);
tphone = new JTextField();
tphone.setBounds(60, 460, 120, 18);
ttime = new JTextField();
ttime.setEnabled(false);
ttime.setBounds(300, 270, 120, 18);
tremark = new JTextArea();
scrool2 = new JScrollPane(tremark);
scrool2.setBounds(300, 300, 120, 60);
testate = new JTextField();
testate.setBounds(300, 370, 120, 18);
testate.setEnabled(false);// 不可编辑
twnumber = new JTextField();
twnumber.setBounds(300, 400, 120, 18);
twnumber.setEnabled(false);// 不可编辑
tjnumber = new JTextField();
tjnumber.setBounds(300, 430, 120, 18);
tjnumber.setEnabled(false);// 不可编辑
tjsnumber = new JTextField();
tjsnumber.setBounds(300, 460, 120, 18);
tjsnumber.setEnabled(false);// 不可编辑
atnumber = new JTextField();
atnumber.setBounds(580, 300, 120, 18);
atname = new JTextField();
atname.setEnabled(false);
atname.setBounds(580, 330, 120, 18);
}
void setbutton() {
xiugai = new ButtonIcon("修改");//修改资料
xiugai.setBounds(20, 500, 70, 25);
xiugai.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String s = "'";
String str;
str = "update duzheziliao set 读者姓名=" + s + tname.getText() + s
+ ", 读者性别=" + s + csex.getSelectedItem().toString() + s
+ ", 读者类别=" + s + com.getSelectedItem().toString() + s
+ " ,读者住址=" + s + atddress.getText() + s + ", 地址电话="
+ s + tphone.getText() + s + ", 备注=" + s
+ tremark.getText() + s + ",天数上限=" + s
+ tjnumber.getText() + s + ",借书上限=" + s
+ twnumber.getText() + s + " where 读者编号="
+ tnumber.getText();
System.out.println(str);
try {
if(tname.getText().equals("")){
JOptionPane.showMessageDialog(table, "读者姓名不能为空!!!!!!!!");
}
else{
MainDAO dao = new MainDAO();
dao.update(str);
table.Renovate("select * from duzheziliao");
JOptionPane.showMessageDialog(table, "修改读者信息成功!!!!!!!!");
}
} catch (SQLException e1) {
showError(e1);
e1.printStackTrace();
}
}
});
add = new ButtonIcon("添加");
add.setBounds(98, 500, 70, 25);
add.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
clean();
save.setEnabled(true);
add.setEnabled(false);
xiugai.setEnabled(false);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -