给了一个图书借阅管理系统的源代码,让我们改其中的错误,其中在bookborrow.java中运行代码出现了这个错误:
package com.bbm.view;
import java.awt.Bordhttps://img-mid.csdnimg.cn/release/static/image/mid/ask/072408244936147.png "#left")
erLayout;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.List;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.border.TitledBorder;
import com.bbm.db.BookBorrowDao;
import com.bbm.db.BookDao;
import com.bbm.db.ReaderDao;
import com.bbm.model.Book;
import com.bbm.model.BorrowBook;
import com.bbm.model.Reader;
import com.bbm.model.Users;
public class BookBorrow extends JFrame {
private JPanel selectJP,select_conditionJP,select_resultJP,borrowJP,buttonJP;
private JTextField readeridJTF,readernameJTF,readertypeJTF,ISBNJTF,booknameJTF,authorJTF,printtimeJTF,publishJTF,publishdateJTF,unitpriceJTF,dateJTF,userJTF,booktypeJTF;
private JLabel readeridJL,readernameJL,readertypeJL,ISBNJL,booknameJL,authorJL,categoryJL,printtimeJL,publishJL,publishdateJL,unitpriceJL,dateJL,userJL;
private JTable table_1;
private JFormattedTextField borrowdate;
private JScrollPane jscrollPane;
private Users user = Login.getUser();
String[] borrowbooksearch = {"图书编号", "图书名称","借书日期"};
// 取数据库中图书相关信息放入表格中
private Object[][] getSelect(List<BorrowBook> list) {
Object[][] results = new Object[list.size()][borrowbooksearch.length];
for (int i = 0; i < list.size(); i++) {
BorrowBook borrowbook = list.get(i);
results[i][0] = borrowbook.getISBN();
List<Book> list1=BookDao.selectBookByISBN(borrowbook.getISBN());
for (int j = 0; j < list1.size(); j++) {
Book book = list1.get(j);
results[i][1]=book.getBookname();
}
results[i][2] = borrowbook.getBorrowdate();
}
return results;
}
public BookBorrow(){
setTitle("图书借阅");
setBounds(500, 300, 600, 500);
selectJP = new JPanel();
TitledBorder tb=new TitledBorder("读者借阅信息");
selectJP.setBorder(tb);
selectJP.setLayout(new BorderLayout());
//查询条件面板
select_conditionJP = new JPanel();
readeridJL=new JLabel("读者编号:");
select_conditionJP.add(readeridJL);
readeridJTF = new JTextField();
readeridJTF.addActionListener(new ReaderidAction());
readeridJTF.setColumns(10);
select_conditionJP.add(readeridJTF);
readernameJL=new JLabel("读者姓名:");
select_conditionJP.add(readernameJL);
readernameJTF = new JTextField();
readernameJTF.setColumns(10);
select_conditionJP.add(readernameJTF);
readertypeJL=new JLabel("读者类别:");
select_conditionJP.add(readertypeJL);
readertypeJTF = new JTextField();
readertypeJTF.setColumns(10);
select_conditionJP.add(readertypeJTF);
selectJP.add(select_conditionJP, BorderLayout.NORTH);
//查询结果面板
select_resultJP = new JPanel();
jscrollPane = new JScrollPane();
Object[][] results = getSelect(BookBorrowDao.selectBorrowBookByReaderId(readeridJTF.getText().trim()));
table_1 = new JTable(results, borrowbooksearch);
jscrollPane.setViewportView(table_1);
//显示边框
jscrollPane.setPreferredSize(new Dimension(400, 140));
//不显示边框
select_resultJP.add(jscrollPane);
selectJP.add(select_resultJP,BorderLayout.CENTER);
borrowJP = new JPanel();
borrowJP.setBorder(new TitledBorder(null, "图书借阅", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, null, null));
//使用布局GridLayout
final GridLayout gridLayout = new GridLayout(5, 4);
gridLayout.setVgap(8);
gridLayout.setHgap(8);
borrowJP.setLayout(gridLayout);
ISBNJL=new JLabel("ISBN:");
ISBNJL.setHorizontalAlignment(SwingConstants.CENTER);
borrowJP.add(ISBNJL);
ISBNJTF=new JTextField();
ISBNJTF.addActionListener(new ISBNAction());
ISBNJTF.setColumns(20);
borrowJP.add(ISBNJTF);
categoryJL=new JLabel("类别:");
categoryJL.setHorizontalAlignment(SwingConstants.CENTER);
borrowJP.add(categoryJL);
booktypeJTF=new JTextField();
booktypeJTF.setColumns(20);
borrowJP.add(booktypeJTF);
booknameJL=new JLabel("书名:");
booknameJL.setHorizontalAlignment(SwingConstants.CENTER);
borrowJP.add(booknameJL);
booknameJTF=new JTextField();
booknameJTF.setColumns(20);
borrowJP.add(booknameJTF);
authorJL=new JLabel("作者:");
authorJL.setHorizontalAlignment(SwingConstants.CENTER);
borrowJP.add(authorJL);
authorJTF=new JTextField();
authorJTF.setColumns(20);
borrowJP.add(authorJTF);
publishJL=new JLabel("出版社:");
publishJL.setHorizontalAlignment(SwingConstants.CENTER);
borrowJP.add(publishJL);
publishJTF=new JTextField();
borrowJP.add(publishJTF);
publishdateJL=new JLabel("出版日期:");
publishdateJL.setHorizontalAlignment(SwingConstants.CENTER);
borrowJP.add(publishdateJL);
publishdateJTF=new JTextField();
borrowJP.add(publishdateJTF);
printtimeJL=new JLabel("印刷次数:");
printtimeJL.setHorizontalAlignment(SwingConstants.CENTER);
borrowJP.add(printtimeJL);
printtimeJTF=new JTextField();
borrowJP.add(printtimeJTF);
unitpriceJL=new JLabel("单价:");
unitpriceJL.setHorizontalAlignment(SwingConstants.CENTER);
borrowJP.add(unitpriceJL);
unitpriceJTF=new JTextField();
borrowJP.add(unitpriceJTF);
dateJL=new JLabel("当前日期:");
dateJL.setHorizontalAlignment(SwingConstants.CENTER);
borrowJP.add(dateJL);
borrowdate = new JFormattedTextField(DateFormat.getDateInstance());
borrowdate.setValue(new java.util.Date());
borrowJP.add(borrowdate);
userJL=new JLabel("操作人员:");
userJL.setHorizontalAlignment(SwingConstants.CENTER);
borrowJP.add(userJL);
userJTF=new JTextField();
userJTF.setText(user.getName());
userJTF.setColumns(20);
userJTF.setEditable(false);
borrowJP.add(userJTF);
//按钮面板设计
buttonJP=new JPanel();
JButton borrowButton=new JButton("借阅");
borrowButton.addActionListener(new BorrowBookActionListener());
JButton closeButton=new JButton("关闭");
closeButton.addActionListener(new CloseActionListener());
buttonJP.add(borrowButton);
buttonJP.add(closeButton);
this.add(selectJP,BorderLayout.NORTH);
this.add(borrowJP,BorderLayout.CENTER);
this.add(buttonJP,BorderLayout.SOUTH);
setVisible(true);
}
class ReaderidAction implements ActionListener{
public void actionPerformed(ActionEvent arg0) {
//检索读者的姓名和类型
List<Reader> list=ReaderDao.selectReaderById(readeridJTF.getText().trim());
for (int i = 0; i < list.size(); i++) {
Reader reader = list.get(i);
readernameJTF.setText(reader.getName());
readernameJTF.setEditable(false);
//获取读者类型名称
readertypeJTF.setText(reader.getTypename());
readertypeJTF.setEditable(false);
}
//检索读者的借书情况
Object[][] results = getSelect(BookBorrowDao.selectBorrowBookByReaderId(readeridJTF.getText().trim()));
table_1 = new JTable(results, borrowbooksearch);
jscrollPane.setViewportView(table_1);
}
}
//输入图书编号ISBN后回车,将图书的其余信息显示出来
class ISBNAction implements ActionListener{
public void actionPerformed(ActionEvent arg0) {
List<Book> list=BookDao.selectBookByISBN(ISBNJTF.getText().trim());
for (int i = 0; i < list.size(); i++) {
Book book = list.get(i);
//获取图书类型名称
booktypeJTF.setText(book.getTypename());
booknameJTF.setText(book.getBookname());
authorJTF.setText(book.getAuthor());
publishJTF.setText(book.getPublish());
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String date=format.format(book.getPublishdate());
publishdateJTF.setText(date);
String time=String.valueOf(book.getPrinttime());
printtimeJTF.setText(time);
String unitprice=String.valueOf(book.getUnitprice());
unitpriceJTF.setText(unitprice);
}
}
}
class BorrowBookActionListener implements ActionListener{
public void actionPerformed(ActionEvent arg0) {
String readerid=readeridJTF.getText().trim();
String ISBN=ISBNJTF.getText().trim();
Date borrowtime=Date.valueOf(borrowdate.getText().trim());
int i = BookBorrowDao.borrowBook(readerid,ISBN,borrowtime);
System.out.println(i);
if (i == 1) {
JOptionPane.showMessageDialog(null, "借阅成功");
//借阅之后,更新读者借阅图书的信息
Object[][] results = getSelect(BookBorrowDao.selectBorrowBookByReaderId(readeridJTF.getText().trim()));
table_1 = new JTable(results, borrowbooksearch);
jscrollPane.setViewportView(table_1);
}
}
}
class CloseActionListener implements ActionListener { // 添加关闭按钮的事件监听器
@Override
public void actionPerformed(final ActionEvent e) {
setVisible(false);
}
}
public static void main(String[] args) {
new BookBorrow();
}
}
Login的值什么时候给的
看一下Login中赋值的地方