⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 booklist.java

📁 采用java+sql实现图书管理系统
💻 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 + -