📄 booklist.java
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
import javax.swing.table.*;
import java.util.Vector;
public class BookList
extends JFrame
implements ActionListener {
DataBaseManager db = new DataBaseManager();
ResultSet rs;
Container c;
JPanel panel1, panel2, panel3,panel4;
JLabel bookNameLabel, authorLabel, pressLabel,pressDateLabel;
JTextField bookNameTextField, authorTextField,
pressTextField,pressDateTextField;
JButton searchBtn, exitBtn;
JTable table = null;//显示和编辑常规二维单元空表
DefaultTableModel defaultModel = null;
public BookList() {
super("书籍信息查询!");
c = getContentPane();
c.setLayout(new BorderLayout());
bookNameLabel = new JLabel("书籍名称", JLabel.CENTER);
authorLabel = new JLabel("作者", JLabel.CENTER);
pressLabel = new JLabel("出版社", JLabel.CENTER);
pressDateLabel=new JLabel("出版时间",JLabel.CENTER);
bookNameTextField = new JTextField(15);
authorTextField = new JTextField(15);
pressTextField = new JTextField(15);
pressDateTextField = new JTextField(15);
searchBtn = new JButton("查询");
searchBtn.addActionListener(this);
exitBtn = new JButton("退出");
exitBtn.addActionListener(this);
panel1 = new JPanel();//创建两个面板
panel3 = new JPanel();
panel1.add(bookNameLabel);//增加到面板
panel1.add(bookNameTextField);
panel1.add(authorLabel);
panel1.add(authorTextField);
panel3.add(pressLabel);
panel3.add(pressTextField);
panel3.add(pressDateLabel);
panel3.add(pressDateTextField);
panel3.add(searchBtn);
panel3.add(exitBtn);
String[] name = {
"书号","书名", "书籍种类","出版社", "作者", "出版日期", "价格", "登记日期","该书数量","已借书数量","备注"};
String[][] data = new String[0][0];
defaultModel = new DefaultTableModel(data, name);
table = new JTable(defaultModel);
table.setPreferredScrollableViewportSize(new Dimension(900, 100));
//新增一个JScrollPane对象,并将panels放入JScrollPane中,若pane1的组件大小在于窗口大小
//大于窗口大小则会自动显示出ScrollBar.
JScrollPane s = new JScrollPane(table);
panel2 = new JPanel();
panel2.add(s);
c.add(panel1, BorderLayout.NORTH);
c.add(panel3, BorderLayout.CENTER);
c.add(panel2, BorderLayout.SOUTH);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == searchBtn) {
String strSQL =
"select Bookno,bookName,BookType,press,Author,pressDate,price,InDate,books_count,borrowed_count,Com from books";
String strSql = null;
if (bookNameTextField.getText().trim().equals("") &&
authorTextField.getText().trim().equals("") &&
pressTextField.getText().trim().equals("")&&
pressDateTextField.getText().trim().equals("")) {
strSql = strSQL;
}
else if (authorTextField.getText().trim().equals("") &&
pressTextField.getText().trim().equals("")&&
pressDateTextField.getText().trim().equals("")) {
strSql = strSQL+" where bookName='" + bookNameTextField.getText().trim() +
"'";
}
else if (bookNameTextField.getText().trim().equals("") &&
pressTextField.getText().trim().equals("")&&
pressDateTextField.getText().trim().equals("")) {
strSql = strSQL+" where author='" + authorTextField.getText().trim() +
"'";
}
else if (bookNameTextField.getText().trim().equals("") &&
authorTextField.getText().trim().equals("")&&
pressDateTextField.getText().trim().equals("")) {
strSql = strSQL + " where press='" + pressTextField.getText().trim() +
"'";
}
else if (bookNameTextField.getText().trim().equals("") &&
authorTextField.getText().trim().equals("")&&
pressTextField.getText().trim().equals("")) {
strSql = strSQL + " where pressDate='" + pressDateTextField.getText().trim() +
"'";
}
else if (bookNameTextField.getText().trim().equals("") &&
authorTextField.getText().trim().equals("")){
strSql = strSQL + " where press='" + pressTextField.getText().trim() +
"'and pressDate='" + pressDateTextField.getText().trim() +
"'";
}
else if (bookNameTextField.getText().trim().equals("") &&
pressTextField.getText().trim().equals("")) {
strSql = strSQL + " where author='" + authorTextField.getText().trim() +
"'and pressDate='" + pressDateTextField.getText().trim() +
"'";
}
else if (bookNameTextField.getText().trim().equals("") &&
pressDateTextField.getText().trim().equals("")) {
strSql = strSQL+" where author='" + authorTextField.getText().trim() +
"'and press='" + pressTextField.getText().trim() +
"'";
}
else if (authorTextField.getText().trim().equals("") &&
pressTextField.getText().trim().equals("")) {
strSql = strSQL + " where bookName='" +bookNameTextField.getText().trim() +
"'and pressDate='" + pressDateTextField.getText().trim() +
"'";
}
else if (authorTextField.getText().trim().equals("") &&
pressDateTextField.getText().trim().equals("")) {
strSql = strSQL+" where bookName='" + bookNameTextField.getText().trim() +
"'and press='" + pressTextField.getText().trim() +
"'";
}
else if (pressTextField.getText().trim().equals("")&&
pressDateTextField.getText().trim().equals("")) {
strSql = strSQL+ " where bookName='" + bookNameTextField.getText().trim()+
"'and author='" + authorTextField.getText().trim() +
"'";
}
else if (bookNameTextField.getText().trim().equals("")) {
strSql = strSQL + " where author='" + authorTextField.getText().trim() +
"'and press='" + pressTextField.getText().trim() +
"'and pressDate='" + pressDateTextField.getText().trim() +
"'";
}
else if (authorTextField.getText().trim().equals("")) {
strSql = strSQL + " where bookName='" +
bookNameTextField.getText().trim() +
"'and press='" + pressTextField.getText().trim() +
"'and pressDate='" + pressDateTextField.getText().trim() +
"'";
}
else if (pressTextField.getText().trim().equals("")) {
strSql = strSQL + " where bookName='" +
bookNameTextField.getText().trim() +
"'and author='" + authorTextField.getText().trim() +
"'and pressDate='" + pressDateTextField.getText().trim() +
"'";
}
else if (pressDateTextField.getText().trim().equals("")) {
strSql = strSQL + " where bookName='" +
bookNameTextField.getText().trim() +
"'and author='" + authorTextField.getText().trim() +
"'and press='" + pressTextField.getText().trim() +
"'";
}
else {
strSql = strSQL + " where bookName='" +
bookNameTextField.getText().trim() +
"'and author='" + authorTextField.getText().trim() + "'and press='" +
pressTextField.getText().trim() + "'and pressDate='" +
pressDateTextField.getText().trim() +
"'";
}
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() == exitBtn) {
db.closeConnection();
this.dispose();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -